summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-02-28 17:26:21 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-03-01 11:12:16 +0000
commited7151f9856791fc4a24b1a0a88f87c442b29f38 (patch)
tree64920f477cebc538a180877ebc875af6ea01d202
parent9b7971fcc5aa5bf921f760e568899a416f2a6542 (diff)
downloadpoky-ed7151f9856791fc4a24b1a0a88f87c442b29f38.tar.gz
poky-ed7151f9856791fc4a24b1a0a88f87c442b29f38.tar.bz2
poky-ed7151f9856791fc4a24b1a0a88f87c442b29f38.zip
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>
-rw-r--r--meta/lib/oeqa/selftest/cases/reproducible.py3
-rw-r--r--meta/recipes-devtools/systemd-bootchart/systemd-bootchart/no_lto.patch19
-rw-r--r--meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb1
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 = [
'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 = " \