From b4b5e52b5bd98deb0855700e4aae6228d52e5a83 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 28 Feb 2021 17:26:21 +0000 Subject: systemd-bootchart: Disable LTO to fix reproducibility LTO likely doesn't buy us much here, disable it to allow the binaries to be reproducible. Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/reproducible.py | 3 +-- .../systemd-bootchart/systemd-bootchart/no_lto.patch | 19 +++++++++++++++++++ .../systemd-bootchart/systemd-bootchart_234.bb | 1 + 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-devtools/systemd-bootchart/systemd-bootchart/no_lto.patch 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 = [ 'perf', 'python3-cython', 'qemu', - 'ruby-ri-docs', - 'systemd-bootchart' + 'ruby-ri-docs' ] 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 @@ +LTO output is not reproducible. Until it is, disable this. Sadly +there is no configuration option to do so at this time. + +Upstream-Status: Pending [may be accept addition of configuration option?] +RP 2021/3/1 + +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac ++++ git/configure.ac +@@ -124,7 +124,7 @@ AS_CASE([$CC], [*clang*], + + AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], + [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ +- -flto -ffat-lto-objects])], ++ ])], + [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) + AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") + 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 SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https \ file://0001-architecture-Recognise-RISCV-32-RISCV-64.patch \ file://mips64.patch \ + file://no_lto.patch \ " SRC_URI_append_libc-musl = " \ -- cgit 1.2.3-korg