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
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 = [
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
49def is_excluded(package): 48def 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 @@
1LTO output is not reproducible. Until it is, disable this. Sadly
2there is no configuration option to do so at this time.
3
4Upstream-Status: Pending [may be accept addition of configuration option?]
5RP 2021/3/1
6
7Index: 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
11SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https \ 11SRC_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
16SRC_URI_append_libc-musl = " \ 17SRC_URI_append_libc-musl = " \