summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-03-09 14:26:12 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-03-10 10:30:39 +0000
commit7c8a944c47c1ed1dc4a30ca80ab228c7be17dcce (patch)
tree007bf4df4581e0194df3f1bba596a9e37ccea97f /meta/recipes-extended
parent744566b6580a101910f1af0d5d0ba34dd1b67bcc (diff)
downloadpoky-7c8a944c47c1ed1dc4a30ca80ab228c7be17dcce.tar.gz
ltp: Fix determinism issue
There was still a remaining issue with reporoducibility based upon the make version from the host system. Some versions added whitespace for XXX+=<tab> (e.g. 4.1) and some versions do not (e.g. 4.3). Replace the determinism patches with those submitted upstream both for this issue and the previous one. The LC_ALL setting for sort is dropped as it didn't fix an issue as hoped. (From OE-Core rev: fda178ace0f4acad931c69300f6af54556472a06) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended')
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch40
-rw-r--r--meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch310
-rw-r--r--meta/recipes-extended/ltp/ltp/determinism2.patch291
-rw-r--r--meta/recipes-extended/ltp/ltp_20210121.bb7
4 files changed, 354 insertions, 294 deletions
diff --git a/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch b/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch
new file mode 100644
index 0000000000..c2a70dcb67
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch
@@ -0,0 +1,40 @@
1From 2d1d6350af1db28ec520e26d0069a0518950b0a1 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 9 Mar 2021 15:21:11 +0000
4Subject: [PATCH 1/3] open_posix_testsuite/generate-makefiles.sh: Avoid
5 inconsistencies with make version
6
7With make 4.1, INSTALL_TARGETS+=<tab> will add a space to the variable whereas
8with make 4.3, it will not. This leads to differing run.sh files in installed
9in packages which is undesireable. If tests is empty we don't have to add
10the line to the makefiles at all which seems like the easiest way to
11avoid the differences in make behaviour.
12
13Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
14Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021386.html]
15
16---
17 .../open_posix_testsuite/scripts/generate-makefiles.sh | 6 +++++-
18 1 file changed, 5 insertions(+), 1 deletion(-)
19
20diff --git a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
21index 200a631db..4b3aaa4a0 100755
22--- a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
23+++ b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
24@@ -148,8 +148,12 @@ EOF
25
26 fi
27
28- cat >> "$makefile.2" <<EOF
29+ if [ ! -z "${tests}" ]; then
30+ cat >> "$makefile.2" <<EOF
31 INSTALL_TARGETS+= ${tests}
32+EOF
33+ fi
34+ cat >> "$makefile.2" <<EOF
35 MAKE_TARGETS+= ${targets}
36
37 EOF
38--
392.27.0
40
diff --git a/meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch b/meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch
new file mode 100644
index 0000000000..4859c3eaed
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch
@@ -0,0 +1,310 @@
1From 4030e28f2c2296ba138cb5e2495202f8aec7ba32 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 9 Mar 2021 15:21:36 +0000
4Subject: [PATCH 2/3] Makefile: Avoid wildcard determinism issues
5
6wildcard used in Makefiles preserves the order of the files on disk
7which leads to differences in the order the binaries are linked.
8
9This patch tweaks the usage of wildcard to also have a sort, making
10the binaries reproducible. A previous patch massively improved
11the situation but wider testing showed that these other changes can
12have an effect on some binaries, this patch avoids those issues as
13exposed by our wider testing.
14
15Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
16Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021388.html]
17
18---
19 include/mk/env_post.mk | 2 +-
20 include/mk/module.mk | 2 +-
21 runtest/Makefile | 2 +-
22 scenario_groups/Makefile | 2 +-
23 testcases/commands/ldd/datafiles/Makefile | 2 +-
24 testcases/kernel/hotplug/memory_hotplug/Makefile | 3 ++-
25 testcases/kernel/io/disktest/Makefile | 2 +-
26 testcases/kernel/io/disktest/Makefile.linux | 4 ++--
27 testcases/kernel/sched/hyperthreading/ht_affinity/Makefile | 2 +-
28 testcases/kernel/sched/hyperthreading/ht_enabled/Makefile | 2 +-
29 testcases/kernel/sched/sched_stress/Makefile | 2 +-
30 testcases/kernel/syscalls/lchown/Makefile | 2 +-
31 testcases/kernel/syscalls/migrate_pages/Makefile | 2 +-
32 testcases/kernel/syscalls/move_pages/Makefile | 2 +-
33 testcases/kernel/syscalls/utils/compat_16.mk | 2 +-
34 testcases/kernel/syscalls/utils/newer_64.mk | 2 +-
35 testcases/misc/math/float/Makefile | 2 +-
36 testcases/network/nfs/nfs_stress/nfs05_make_tree.c | 4 ++--
37 testcases/network/nfsv4/locks/Makefile | 2 +-
38 utils/sctp/func_tests/Makefile | 2 +-
39 20 files changed, 23 insertions(+), 22 deletions(-)
40
41diff --git a/include/mk/env_post.mk b/include/mk/env_post.mk
42index d52ad9f0b..1d22f9c53 100644
43--- a/include/mk/env_post.mk
44+++ b/include/mk/env_post.mk
45@@ -47,7 +47,7 @@ LDFLAGS += -L$(top_builddir)/lib/android_libpthread
46 LDFLAGS += -L$(top_builddir)/lib/android_librt
47 endif
48
49-MAKE_TARGETS ?= $(notdir $(patsubst %.c,%,$(wildcard $(abs_srcdir)/*.c)))
50+MAKE_TARGETS ?= $(notdir $(patsubst %.c,%,$(sort $(wildcard $(abs_srcdir)/*.c))))
51 MAKE_TARGETS := $(filter-out $(FILTER_OUT_MAKE_TARGETS),$(MAKE_TARGETS))
52
53 # with only *.dwo, .[0-9]+.dwo can not be cleaned
54diff --git a/include/mk/module.mk b/include/mk/module.mk
55index 95fb8336a..6c8814b96 100644
56--- a/include/mk/module.mk
57+++ b/include/mk/module.mk
58@@ -42,7 +42,7 @@ endif
59
60 ifneq ($(filter install clean,$(MAKECMDGOALS)),)
61 MAKE_TARGETS := $(filter-out %.ko, $(MAKE_TARGETS))
62-MAKE_TARGETS += $(wildcard *.ko)
63+MAKE_TARGETS += $(sort $(wildcard *.ko))
64 endif
65
66 CLEAN_TARGETS += .dep_modules *.mod built-in.a
67diff --git a/runtest/Makefile b/runtest/Makefile
68index b7caaee06..6a1565b6a 100644
69--- a/runtest/Makefile
70+++ b/runtest/Makefile
71@@ -36,7 +36,7 @@ ifneq ($(WITH_POWER_MANAGEMENT_TESTSUITE),yes)
72 UNWANTED_FILES += power_management_tests
73 endif
74
75-INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*))))
76+INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*)))))
77
78 MAKE_TARGETS :=
79
80diff --git a/scenario_groups/Makefile b/scenario_groups/Makefile
81index 2978675d9..fcbc92708 100644
82--- a/scenario_groups/Makefile
83+++ b/scenario_groups/Makefile
84@@ -31,7 +31,7 @@ UNWANTED_FILES := Makefile
85
86 INSTALL_MODE := 00644
87
88-INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*))))
89+INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*)))))
90
91 MAKE_TARGETS :=
92
93diff --git a/testcases/commands/ldd/datafiles/Makefile b/testcases/commands/ldd/datafiles/Makefile
94index d8bcf5c06..01c352052 100644
95--- a/testcases/commands/ldd/datafiles/Makefile
96+++ b/testcases/commands/ldd/datafiles/Makefile
97@@ -21,7 +21,7 @@ CPPFLAGS += -fpic
98
99 INSTALL_TARGETS := ldd*.so lddfile.out
100
101-LDD_C_FILES := $(wildcard $(abs_srcdir)/lddfile*.c)
102+LDD_C_FILES := $(sort $(wildcard $(abs_srcdir)/lddfile*.c))
103 LDD_SO_FILES := $(patsubst $(abs_srcdir)/%.c,%.obj.so,$(LDD_C_FILES))
104 MAKE_TARGETS := lddfile.out
105 CLEAN_TARGETS += *.obj $(LDD_SO_FILES)
106diff --git a/testcases/kernel/hotplug/memory_hotplug/Makefile b/testcases/kernel/hotplug/memory_hotplug/Makefile
107index d1ba65e65..38a77a2ba 100644
108--- a/testcases/kernel/hotplug/memory_hotplug/Makefile
109+++ b/testcases/kernel/hotplug/memory_hotplug/Makefile
110@@ -31,6 +31,7 @@ LDLIBS := $(filter-out -lltp,$(LDLIBS))
111
112 MAKE_TARGETS := memtoy
113
114-memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
115+memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
116+
117
118 include $(top_srcdir)/include/mk/generic_leaf_target.mk
119diff --git a/testcases/kernel/io/disktest/Makefile b/testcases/kernel/io/disktest/Makefile
120index d10d98434..3a3a9cbf0 100644
121--- a/testcases/kernel/io/disktest/Makefile
122+++ b/testcases/kernel/io/disktest/Makefile
123@@ -209,7 +209,7 @@ LDLIBS += -lpthread
124
125 MAKE_TARGETS := disktest
126
127-OBJS := $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
128+OBJS := $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
129
130 disktest-$(VER):
131 mkdir -p "$@"
132diff --git a/testcases/kernel/io/disktest/Makefile.linux b/testcases/kernel/io/disktest/Makefile.linux
133index ea45b5a57..0f3aab622 100644
134--- a/testcases/kernel/io/disktest/Makefile.linux
135+++ b/testcases/kernel/io/disktest/Makefile.linux
136@@ -167,8 +167,8 @@ mandir=/usr/share/man
137
138 VER=`grep VER_STR main.h | awk -F\" '{print $$2}'`
139 GBLHDRS=main.h globals.h defs.h
140-ALLHDRS=$(wildcard *.h)
141-SRCS=$(wildcard *.c)
142+ALLHDRS=$(sort $(wildcard *.h))
143+SRCS=$(sort $(wildcard *.c))
144 OBJS=$(SRCS:.c=.o)
145
146 CFLAGS += -g -Wall -O -D"LINUX" -D"_THREAD_SAFE" -D"_GNU_SOURCE" -D"_LARGE_FILES" -D"_LARGEFILE64_SOURCE" -D"_FILE_OFFSET_BITS=64" $(RPM_OPT_FLAGS)
147diff --git a/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile b/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
148index 10fec96dc..6b64bd261 100644
149--- a/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
150+++ b/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
151@@ -28,6 +28,6 @@ INSTALL_TARGETS := smt_smp_affinity.sh
152
153 MAKE_TARGETS := ht_affinity
154
155-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
156+$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
157
158 include $(top_srcdir)/include/mk/generic_leaf_target.mk
159diff --git a/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile b/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
160index 9c1e139d6..585ff1383 100644
161--- a/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
162+++ b/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
163@@ -28,6 +28,6 @@ INSTALL_TARGETS := smt_smp_enabled.sh
164
165 MAKE_TARGETS := ht_enabled
166
167-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
168+$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
169
170 include $(top_srcdir)/include/mk/generic_leaf_target.mk
171diff --git a/testcases/kernel/sched/sched_stress/Makefile b/testcases/kernel/sched/sched_stress/Makefile
172index b76126c73..4dbbf3477 100644
173--- a/testcases/kernel/sched/sched_stress/Makefile
174+++ b/testcases/kernel/sched/sched_stress/Makefile
175@@ -10,7 +10,7 @@ INSTALL_TARGETS := sched_stress.sh
176
177 LDLIBS += -lpthread
178
179-MAKE_TARGETS := $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c)))
180+MAKE_TARGETS := $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c))))
181
182 RM += -r
183
184diff --git a/testcases/kernel/syscalls/lchown/Makefile b/testcases/kernel/syscalls/lchown/Makefile
185index 13d39cb81..305fee281 100644
186--- a/testcases/kernel/syscalls/lchown/Makefile
187+++ b/testcases/kernel/syscalls/lchown/Makefile
188@@ -5,7 +5,7 @@ top_srcdir ?= ../../../..
189
190 include $(top_srcdir)/include/mk/testcases.mk
191
192-SRCS := $(wildcard $(abs_srcdir)/lchown*.c)
193+SRCS := $(sort $(wildcard $(abs_srcdir)/lchown*.c))
194
195 include $(abs_srcdir)/../utils/compat_16.mk
196
197diff --git a/testcases/kernel/syscalls/migrate_pages/Makefile b/testcases/kernel/syscalls/migrate_pages/Makefile
198index 46912b025..9cf3ce526 100644
199--- a/testcases/kernel/syscalls/migrate_pages/Makefile
200+++ b/testcases/kernel/syscalls/migrate_pages/Makefile
201@@ -5,7 +5,7 @@ top_srcdir ?= ../../../..
202
203 include $(top_srcdir)/include/mk/testcases.mk
204
205-MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c))
206+MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c)))
207 $(MAKE_TARGETS): %: migrate_pages_common.o
208
209 CPPFLAGS += -I$(abs_srcdir)/../utils/
210diff --git a/testcases/kernel/syscalls/move_pages/Makefile b/testcases/kernel/syscalls/move_pages/Makefile
211index cd7ff6349..4b22160ed 100644
212--- a/testcases/kernel/syscalls/move_pages/Makefile
213+++ b/testcases/kernel/syscalls/move_pages/Makefile
214@@ -7,7 +7,7 @@ include $(top_srcdir)/include/mk/testcases.mk
215
216 CPPFLAGS += -I$(abs_srcdir)/../utils
217
218-MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c))
219+MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c)))
220
221 $(MAKE_TARGETS): %: move_pages_support.o
222
223diff --git a/testcases/kernel/syscalls/utils/compat_16.mk b/testcases/kernel/syscalls/utils/compat_16.mk
224index a0ff8f558..e81a00c40 100644
225--- a/testcases/kernel/syscalls/utils/compat_16.mk
226+++ b/testcases/kernel/syscalls/utils/compat_16.mk
227@@ -50,7 +50,7 @@
228
229 CPPFLAGS += -I$(abs_srcdir) -I$(abs_srcdir)/../utils
230
231-SRCS ?= $(wildcard $(abs_srcdir)/*.c)
232+SRCS ?= $(sort $(wildcard $(abs_srcdir)/*.c))
233
234 MAKE_TARGETS := $(notdir $(patsubst %.c,%,$(SRCS)))
235 MAKE_TARGETS_OBJS_WO_COMPAT_16 := $(addsuffix .o,$(MAKE_TARGETS))
236diff --git a/testcases/kernel/syscalls/utils/newer_64.mk b/testcases/kernel/syscalls/utils/newer_64.mk
237index 8cd7e03c8..5e798057a 100644
238--- a/testcases/kernel/syscalls/utils/newer_64.mk
239+++ b/testcases/kernel/syscalls/utils/newer_64.mk
240@@ -25,7 +25,7 @@
241
242 CPPFLAGS += -I$(abs_srcdir) -I$(abs_srcdir)/../utils
243
244-SRCS ?= $(wildcard $(abs_srcdir)/*.c)
245+SRCS ?= $(sort $(wildcard $(abs_srcdir)/*.c))
246
247 MAKE_TARGETS := $(notdir $(patsubst %.c,%,$(SRCS)))
248
249diff --git a/testcases/misc/math/float/Makefile b/testcases/misc/math/float/Makefile
250index 79dda35d6..5f4cb0f6c 100644
251--- a/testcases/misc/math/float/Makefile
252+++ b/testcases/misc/math/float/Makefile
253@@ -27,6 +27,6 @@ include $(top_srcdir)/include/mk/testcases.mk
254 LDLIBS += -lpthread -lm
255
256 # main.c doesn't compile...
257-MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/float*.c))
258+MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/float*.c)))
259
260 include $(top_srcdir)/include/mk/generic_trunk_target.mk
261diff --git a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
262index 12c86799d..23c520d9d 100644
263--- a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
264+++ b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
265@@ -104,7 +104,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNUSED void *args)
266 "\treturn 0;\n}\n";
267
268 const char make_buf_n[] = "CFLAGS := -O -w -g\n"
269- "SRCS=$(wildcard *.c)\n"
270+ "SRCS=$(sort $(wildcard *.c))\n"
271 "TARGETS=$(SRCS:.c=)\n"
272 "all: $(TARGETS)\n"
273 "$(TARGETS): %: %.c\n"
274@@ -114,7 +114,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNUSED void *args)
275
276 const char make_buf[] = "CFLAGS := -O -w -g\n"
277 "SUBDIR = dir\n"
278- "SRCS=$(wildcard *.c)\n"
279+ "SRCS=$(sort $(wildcard *.c))\n"
280 "TARGETS=$(SRCS:.c=)\n"
281 "all: $(SUBDIR) $(TARGETS)\n"
282 "$(TARGETS): %: %.c\n"
283diff --git a/testcases/network/nfsv4/locks/Makefile b/testcases/network/nfsv4/locks/Makefile
284index 5812dea3a..05941c892 100644
285--- a/testcases/network/nfsv4/locks/Makefile
286+++ b/testcases/network/nfsv4/locks/Makefile
287@@ -28,6 +28,6 @@ MAKE_TARGETS := locktests
288
289 LDLIBS += -lpthread
290
291-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
292+$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
293
294 include $(top_srcdir)/include/mk/generic_leaf_target.mk
295diff --git a/utils/sctp/func_tests/Makefile b/utils/sctp/func_tests/Makefile
296index d296c652a..a17107853 100644
297--- a/utils/sctp/func_tests/Makefile
298+++ b/utils/sctp/func_tests/Makefile
299@@ -30,7 +30,7 @@ LDFLAGS += $(addprefix -L$(abs_builddir)/../,lib testlib)
300
301 LDLIBS += -lsctputil -lsctp -lpthread
302
303-V4_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c))
304+V4_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c)))
305
306 V6_TARGETS := test_basic_v6 test_fragments_v6 test_getname_v6 \
307 test_inaddr_any_v6 test_peeloff_v6 \
308--
3092.27.0
310
diff --git a/meta/recipes-extended/ltp/ltp/determinism2.patch b/meta/recipes-extended/ltp/ltp/determinism2.patch
deleted file mode 100644
index d786f4c2f9..0000000000
--- a/meta/recipes-extended/ltp/ltp/determinism2.patch
+++ /dev/null
@@ -1,291 +0,0 @@
1testcases/kernel/io/disktest: Fix determinism issue
2
3The order of the objects linked into the test varies depending on the
4order of the files found on disk. This results in the disktest binary
5differing depending on that order.
6
7Sort the wildcard expansion of *.c which leads to reproducible binaries.
8
9Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10Upstream-Status: Pending
11
12Index: git/testcases/kernel/io/disktest/Makefile
13===================================================================
14--- git.orig/testcases/kernel/io/disktest/Makefile
15+++ git/testcases/kernel/io/disktest/Makefile
16@@ -209,7 +209,7 @@ LDLIBS += -lpthread
17
18 MAKE_TARGETS := disktest
19
20-OBJS := $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
21+OBJS := $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
22
23 disktest-$(VER):
24 mkdir -p "$@"
25Index: git/testcases/commands/ldd/datafiles/Makefile
26===================================================================
27--- git.orig/testcases/commands/ldd/datafiles/Makefile
28+++ git/testcases/commands/ldd/datafiles/Makefile
29@@ -21,7 +21,7 @@ CPPFLAGS += -fpic
30
31 INSTALL_TARGETS := ldd*.so lddfile.out
32
33-LDD_C_FILES := $(wildcard $(abs_srcdir)/lddfile*.c)
34+LDD_C_FILES := $(sort $(wildcard $(abs_srcdir)/lddfile*.c))
35 LDD_SO_FILES := $(patsubst $(abs_srcdir)/%.c,%.obj.so,$(LDD_C_FILES))
36 MAKE_TARGETS := lddfile.out
37 CLEAN_TARGETS += *.obj $(LDD_SO_FILES)
38Index: git/testcases/kernel/hotplug/memory_hotplug/Makefile
39===================================================================
40--- git.orig/testcases/kernel/hotplug/memory_hotplug/Makefile
41+++ git/testcases/kernel/hotplug/memory_hotplug/Makefile
42@@ -31,6 +31,7 @@ LDLIBS := $(filter-out -lltp,$(LDLIBS))
43
44 MAKE_TARGETS := memtoy
45
46-memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
47+memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
48+
49
50 include $(top_srcdir)/include/mk/generic_leaf_target.mk
51Index: git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
52===================================================================
53--- git.orig/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
54+++ git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
55@@ -24,7 +24,7 @@ generate_locate_test_makefile() {
56
57 echo "Generating $maketype Makefiles"
58
59- locate-test --$maketype | sed -e 's,^./,,g' | sort > make-gen.$maketype
60+ locate-test --$maketype | sed -e 's,^./,,g' | LC_ALL=C sort > make-gen.$maketype
61
62 generate_makefiles make-gen.$maketype $*
63
64Index: git/testcases/kernel/syscalls/lchown/Makefile
65===================================================================
66--- git.orig/testcases/kernel/syscalls/lchown/Makefile
67+++ git/testcases/kernel/syscalls/lchown/Makefile
68@@ -5,7 +5,7 @@ top_srcdir ?= ../../../..
69
70 include $(top_srcdir)/include/mk/testcases.mk
71
72-SRCS := $(wildcard $(abs_srcdir)/lchown*.c)
73+SRCS := $(sort $(wildcard $(abs_srcdir)/lchown*.c))
74
75 include $(abs_srcdir)/../utils/compat_16.mk
76
77Index: git/testcases/kernel/syscalls/migrate_pages/Makefile
78===================================================================
79--- git.orig/testcases/kernel/syscalls/migrate_pages/Makefile
80+++ git/testcases/kernel/syscalls/migrate_pages/Makefile
81@@ -5,7 +5,7 @@ top_srcdir ?= ../../../..
82
83 include $(top_srcdir)/include/mk/testcases.mk
84
85-MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c))
86+MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c)))
87 $(MAKE_TARGETS): %: migrate_pages_common.o
88
89 CPPFLAGS += -I$(abs_srcdir)/../utils/
90Index: git/testcases/kernel/syscalls/utils/compat_16.mk
91===================================================================
92--- git.orig/testcases/kernel/syscalls/utils/compat_16.mk
93+++ git/testcases/kernel/syscalls/utils/compat_16.mk
94@@ -50,7 +50,7 @@
95
96 CPPFLAGS += -I$(abs_srcdir) -I$(abs_srcdir)/../utils
97
98-SRCS ?= $(wildcard $(abs_srcdir)/*.c)
99+SRCS ?= $(sort $(wildcard $(abs_srcdir)/*.c))
100
101 MAKE_TARGETS := $(notdir $(patsubst %.c,%,$(SRCS)))
102 MAKE_TARGETS_OBJS_WO_COMPAT_16 := $(addsuffix .o,$(MAKE_TARGETS))
103Index: git/testcases/kernel/syscalls/utils/newer_64.mk
104===================================================================
105--- git.orig/testcases/kernel/syscalls/utils/newer_64.mk
106+++ git/testcases/kernel/syscalls/utils/newer_64.mk
107@@ -25,7 +25,7 @@
108
109 CPPFLAGS += -I$(abs_srcdir) -I$(abs_srcdir)/../utils
110
111-SRCS ?= $(wildcard $(abs_srcdir)/*.c)
112+SRCS ?= $(sort $(wildcard $(abs_srcdir)/*.c))
113
114 MAKE_TARGETS := $(notdir $(patsubst %.c,%,$(SRCS)))
115
116Index: git/include/mk/env_post.mk
117===================================================================
118--- git.orig/include/mk/env_post.mk
119+++ git/include/mk/env_post.mk
120@@ -47,7 +47,7 @@ LDFLAGS += -L$(top_builddir)/lib/andr
121 LDFLAGS += -L$(top_builddir)/lib/android_librt
122 endif
123
124-MAKE_TARGETS ?= $(notdir $(patsubst %.c,%,$(wildcard $(abs_srcdir)/*.c)))
125+MAKE_TARGETS ?= $(notdir $(patsubst %.c,%,$(sort $(wildcard $(abs_srcdir)/*.c))))
126 MAKE_TARGETS := $(filter-out $(FILTER_OUT_MAKE_TARGETS),$(MAKE_TARGETS))
127
128 # with only *.dwo, .[0-9]+.dwo can not be cleaned
129Index: git/include/mk/module.mk
130===================================================================
131--- git.orig/include/mk/module.mk
132+++ git/include/mk/module.mk
133@@ -42,7 +42,7 @@ endif
134
135 ifneq ($(filter install clean,$(MAKECMDGOALS)),)
136 MAKE_TARGETS := $(filter-out %.ko, $(MAKE_TARGETS))
137-MAKE_TARGETS += $(wildcard *.ko)
138+MAKE_TARGETS += $(sort $(wildcard *.ko))
139 endif
140
141 CLEAN_TARGETS += .dep_modules *.mod built-in.a
142Index: git/runtest/Makefile
143===================================================================
144--- git.orig/runtest/Makefile
145+++ git/runtest/Makefile
146@@ -36,7 +36,7 @@ ifneq ($(WITH_POWER_MANAGEMENT_TESTSUITE
147 UNWANTED_FILES += power_management_tests
148 endif
149
150-INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*))))
151+INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*)))))
152
153 MAKE_TARGETS :=
154
155Index: git/scenario_groups/Makefile
156===================================================================
157--- git.orig/scenario_groups/Makefile
158+++ git/scenario_groups/Makefile
159@@ -31,7 +31,7 @@ UNWANTED_FILES := Makefile
160
161 INSTALL_MODE := 00644
162
163-INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*))))
164+INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*)))))
165
166 MAKE_TARGETS :=
167
168Index: git/testcases/kernel/io/disktest/Makefile.linux
169===================================================================
170--- git.orig/testcases/kernel/io/disktest/Makefile.linux
171+++ git/testcases/kernel/io/disktest/Makefile.linux
172@@ -167,8 +167,8 @@ mandir=/usr/share/man
173
174 VER=`grep VER_STR main.h | awk -F\" '{print $$2}'`
175 GBLHDRS=main.h globals.h defs.h
176-ALLHDRS=$(wildcard *.h)
177-SRCS=$(wildcard *.c)
178+ALLHDRS=$(sort $(wildcard *.h))
179+SRCS=$(sort $(wildcard *.c))
180 OBJS=$(SRCS:.c=.o)
181
182 CFLAGS += -g -Wall -O -D"LINUX" -D"_THREAD_SAFE" -D"_GNU_SOURCE" -D"_LARGE_FILES" -D"_LARGEFILE64_SOURCE" -D"_FILE_OFFSET_BITS=64" $(RPM_OPT_FLAGS)
183Index: git/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
184===================================================================
185--- git.orig/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
186+++ git/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
187@@ -28,6 +28,6 @@ INSTALL_TARGETS := smt_smp_affinity.sh
188
189 MAKE_TARGETS := ht_affinity
190
191-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
192+$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
193
194 include $(top_srcdir)/include/mk/generic_leaf_target.mk
195Index: git/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
196===================================================================
197--- git.orig/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
198+++ git/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
199@@ -28,6 +28,6 @@ INSTALL_TARGETS := smt_smp_enabled.sh
200
201 MAKE_TARGETS := ht_enabled
202
203-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
204+$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
205
206 include $(top_srcdir)/include/mk/generic_leaf_target.mk
207Index: git/testcases/kernel/sched/sched_stress/Makefile
208===================================================================
209--- git.orig/testcases/kernel/sched/sched_stress/Makefile
210+++ git/testcases/kernel/sched/sched_stress/Makefile
211@@ -10,7 +10,7 @@ INSTALL_TARGETS := sched_stress.sh
212
213 LDLIBS += -lpthread
214
215-MAKE_TARGETS := $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c)))
216+MAKE_TARGETS := $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c))))
217
218 RM += -r
219
220Index: git/testcases/kernel/syscalls/move_pages/Makefile
221===================================================================
222--- git.orig/testcases/kernel/syscalls/move_pages/Makefile
223+++ git/testcases/kernel/syscalls/move_pages/Makefile
224@@ -7,7 +7,7 @@ include $(top_srcdir)/include/mk/testcas
225
226 CPPFLAGS += -I$(abs_srcdir)/../utils
227
228-MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c))
229+MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c)))
230
231 $(MAKE_TARGETS): %: move_pages_support.o
232
233Index: git/testcases/misc/math/float/Makefile
234===================================================================
235--- git.orig/testcases/misc/math/float/Makefile
236+++ git/testcases/misc/math/float/Makefile
237@@ -27,6 +27,6 @@ include $(top_srcdir)/include/mk/testcas
238 LDLIBS += -lpthread -lm
239
240 # main.c doesn't compile...
241-MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/float*.c))
242+MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/float*.c)))
243
244 include $(top_srcdir)/include/mk/generic_trunk_target.mk
245Index: git/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
246===================================================================
247--- git.orig/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
248+++ git/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
249@@ -104,7 +104,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNU
250 "\treturn 0;\n}\n";
251
252 const char make_buf_n[] = "CFLAGS := -O -w -g\n"
253- "SRCS=$(wildcard *.c)\n"
254+ "SRCS=$(sort $(wildcard *.c))\n"
255 "TARGETS=$(SRCS:.c=)\n"
256 "all: $(TARGETS)\n"
257 "$(TARGETS): %: %.c\n"
258@@ -114,7 +114,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNU
259
260 const char make_buf[] = "CFLAGS := -O -w -g\n"
261 "SUBDIR = dir\n"
262- "SRCS=$(wildcard *.c)\n"
263+ "SRCS=$(sort $(wildcard *.c))\n"
264 "TARGETS=$(SRCS:.c=)\n"
265 "all: $(SUBDIR) $(TARGETS)\n"
266 "$(TARGETS): %: %.c\n"
267Index: git/testcases/network/nfsv4/locks/Makefile
268===================================================================
269--- git.orig/testcases/network/nfsv4/locks/Makefile
270+++ git/testcases/network/nfsv4/locks/Makefile
271@@ -28,6 +28,6 @@ MAKE_TARGETS := locktests
272
273 LDLIBS += -lpthread
274
275-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
276+$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
277
278 include $(top_srcdir)/include/mk/generic_leaf_target.mk
279Index: git/utils/sctp/func_tests/Makefile
280===================================================================
281--- git.orig/utils/sctp/func_tests/Makefile
282+++ git/utils/sctp/func_tests/Makefile
283@@ -30,7 +30,7 @@ LDFLAGS += $(addprefix -L$(abs_builddir
284
285 LDLIBS += -lsctputil -lsctp -lpthread
286
287-V4_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c))
288+V4_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c)))
289
290 V6_TARGETS := test_basic_v6 test_fragments_v6 test_getname_v6 \
291 test_inaddr_any_v6 test_peeloff_v6 \
diff --git a/meta/recipes-extended/ltp/ltp_20210121.bb b/meta/recipes-extended/ltp/ltp_20210121.bb
index 737c8b3ca1..5fe1a4f012 100644
--- a/meta/recipes-extended/ltp/ltp_20210121.bb
+++ b/meta/recipes-extended/ltp/ltp_20210121.bb
@@ -30,8 +30,8 @@ CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
30SRCREV = "4d005621edd109d119627eb9210b224a63bf22cb" 30SRCREV = "4d005621edd109d119627eb9210b224a63bf22cb"
31 31
32# remove at next version upgrade or when output changes 32# remove at next version upgrade or when output changes
33PR = "r3" 33PR = "r4"
34HASHEQUIV_HASH_VERSION .= ".3" 34HASHEQUIV_HASH_VERSION .= ".4"
35 35
36SRC_URI = "git://github.com/linux-test-project/ltp.git \ 36SRC_URI = "git://github.com/linux-test-project/ltp.git \
37 file://0001-build-Add-option-to-select-libc-implementation.patch \ 37 file://0001-build-Add-option-to-select-libc-implementation.patch \
@@ -39,7 +39,8 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
39 file://0001-Add-more-musl-exclusions.patch \ 39 file://0001-Add-more-musl-exclusions.patch \
40 file://0001-Remove-OOM-tests-from-runtest-mm.patch \ 40 file://0001-Remove-OOM-tests-from-runtest-mm.patch \
41 file://determinism.patch \ 41 file://determinism.patch \
42 file://determinism2.patch \ 42 file://0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch \
43 file://0002-Makefile-Avoid-wildcard-determinism-issues.patch \
43 " 44 "
44 45
45S = "${WORKDIR}/git" 46S = "${WORKDIR}/git"