]> code.ossystems Code Review - openembedded-core.git/commitdiff
systemd-bootchart: Disable LTO to fix reproducibility
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 28 Feb 2021 17:26:21 +0000 (17:26 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 1 Mar 2021 11:12:12 +0000 (11:12 +0000)
LTO likely doesn't buy us much here, disable it to allow the binaries
to be reproducible.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/selftest/cases/reproducible.py
meta/recipes-devtools/systemd-bootchart/systemd-bootchart/no_lto.patch [new file with mode: 0644]
meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb

index bf2d28e50805bc64367d44506c990af1dd56e8fe..f2d9f95292debe36b773761b5a9a7a45a11c381d 100644 (file)
@@ -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 (file)
index 0000000..1fdf8db
--- /dev/null
@@ -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")
index 58dd5995c857d37a5cdb1042eb7248c205ad3ea0..905a0cbb72e7a65ff57df5311d82785b6cbafece 100644 (file)
@@ -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 = " \