summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/syslinux/syslinux/determinism.patch
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-02-27 23:42:03 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-03-01 11:12:12 +0000
commit5541ba76ccc0c416f315bc0dc14a20a33059bd5f (patch)
tree4e5fbcf4257eec58d6c69f89852b9173918e01ae /meta/recipes-devtools/syslinux/syslinux/determinism.patch
parentd35fd000a85b220cd1a7ea195d8c9111ddf7749b (diff)
downloadopenembedded-core-5541ba76ccc0c416f315bc0dc14a20a33059bd5f.tar.gz
syslinux: Fix reproducibility issues
Add sorting to wildcard expansion in the makefile to make builds reproducible. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/syslinux/syslinux/determinism.patch')
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/determinism.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/meta/recipes-devtools/syslinux/syslinux/determinism.patch b/meta/recipes-devtools/syslinux/syslinux/determinism.patch
new file mode 100644
index 0000000000..2fb8c64df3
--- /dev/null
+++ b/meta/recipes-devtools/syslinux/syslinux/determinism.patch
@@ -0,0 +1,22 @@
+In order to build deterministic binaries, we need to sort the wildcard expansion
+so the libraries are linked in the same order each time. This fixes reproducibility
+issues within syslinux builds.
+
+Upstream-Status: Pending
+RP 2021/3/1
+
+Index: syslinux-6.04-pre2/mk/lib.mk
+===================================================================
+--- syslinux-6.04-pre2.orig/mk/lib.mk
++++ syslinux-6.04-pre2/mk/lib.mk
+@@ -130,8 +130,8 @@ LIBENTRY_OBJS = \
+ exit.o
+
+ LIBGCC_OBJS = \
+- $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c)) \
+- $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S))
++ $(sort $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c))) \
++ $(sort $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S)))
+
+ LIBCONSOLE_OBJS = \
+ \