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 = " \ |