diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-02-28 17:26:21 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-03-01 11:12:16 +0000 |
| commit | ed7151f9856791fc4a24b1a0a88f87c442b29f38 (patch) | |
| tree | 64920f477cebc538a180877ebc875af6ea01d202 | |
| parent | 9b7971fcc5aa5bf921f760e568899a416f2a6542 (diff) | |
| download | poky-ed7151f9856791fc4a24b1a0a88f87c442b29f38.tar.gz | |
systemd-bootchart: Disable LTO to fix reproducibility
LTO likely doesn't buy us much here, disable it to allow the binaries
to be reproducible.
(From OE-Core rev: b4b5e52b5bd98deb0855700e4aae6228d52e5a83)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 files changed, 21 insertions, 2 deletions
diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py index bf2d28e508..f2d9f95292 100644 --- a/meta/lib/oeqa/selftest/cases/reproducible.py +++ b/meta/lib/oeqa/selftest/cases/reproducible.py | |||
| @@ -42,8 +42,7 @@ exclude_packages = [ | |||
| 42 | 'perf', | 42 | 'perf', |
| 43 | 'python3-cython', | 43 | 'python3-cython', |
| 44 | 'qemu', | 44 | 'qemu', |
| 45 | 'ruby-ri-docs', | 45 | 'ruby-ri-docs' |
| 46 | 'systemd-bootchart' | ||
| 47 | ] | 46 | ] |
| 48 | 47 | ||
| 49 | def is_excluded(package): | 48 | def is_excluded(package): |
diff --git a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/no_lto.patch b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/no_lto.patch new file mode 100644 index 0000000000..1fdf8dbcc2 --- /dev/null +++ b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/no_lto.patch | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | LTO output is not reproducible. Until it is, disable this. Sadly | ||
| 2 | there is no configuration option to do so at this time. | ||
| 3 | |||
| 4 | Upstream-Status: Pending [may be accept addition of configuration option?] | ||
| 5 | RP 2021/3/1 | ||
| 6 | |||
| 7 | Index: git/configure.ac | ||
| 8 | =================================================================== | ||
| 9 | --- git.orig/configure.ac | ||
| 10 | +++ git/configure.ac | ||
| 11 | @@ -124,7 +124,7 @@ AS_CASE([$CC], [*clang*], | ||
| 12 | |||
| 13 | AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], | ||
| 14 | [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ | ||
| 15 | - -flto -ffat-lto-objects])], | ||
| 16 | + ])], | ||
| 17 | [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) | ||
| 18 | AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") | ||
| 19 | |||
diff --git a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb index 58dd5995c8..905a0cbb72 100644 --- a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb +++ b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb | |||
| @@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c | |||
| 11 | SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https \ | 11 | SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https \ |
| 12 | file://0001-architecture-Recognise-RISCV-32-RISCV-64.patch \ | 12 | file://0001-architecture-Recognise-RISCV-32-RISCV-64.patch \ |
| 13 | file://mips64.patch \ | 13 | file://mips64.patch \ |
| 14 | file://no_lto.patch \ | ||
| 14 | " | 15 | " |
| 15 | 16 | ||
| 16 | SRC_URI_append_libc-musl = " \ | 17 | SRC_URI_append_libc-musl = " \ |
