poky: subtree update:c8075ed8f1..7d0988966c
Adrian (1):
weston-init: Set $HOME variable for SysVinit manager
Alejandro Hernandez Samaniego (6):
bitbake: bitbake: Add Azure Storage fetcher implementation
bitbake: docs: Add Az fetcher documentation
bitbake: docs: Add AZ_SAS definition to glossary
ref-manual: Add Az fetcher documentation
sanity.bbclass: Add az fetcher to accepted URI protocols for mirrors sanity
devtool: Fix do_kernel_configme task
Alexander Kanavin (23):
core-image.bbclass: add a weston IMAGE_FEATURE, similar to x11-base
rootfs-postcommands: correctly set systemd target for weston images
oeqa/weston: correctly run wayland-info when systemd is in use
dnf: upgrade 4.5.2 -> 4.6.0
libdnf: update 0.55.2 -> 0.58.0
libdnf: replace a musl fix with a better one
librepo: update 1.12.1 -> 1.13.0
libical: update 3.0.8 -> 3.0.9
libical: drop the ad hoc native generator build
bmap-tools: upgrade 3.5 -> 3.6
procps: update 3.3.16 -> 3.3.17
libxcrypt: fix sporadic failures in nativesdk-libxcrypt-compat
bind: upgrade 9.16.11 -> 9.16.12
spirv-headers: update to latest revision
spirv-tools: upgrade 2020.6 -> 2020.7
mesa: update 20.3.4 -> 21.0.0
attr: update 2.4.48 -> 2.5.1
asciidoc: update 9.0.4 -> 9.1.0
libhandy: update 1.0.3 -> 1.2.0
strace: update 5.10 -> 5.11
automake: update 1.16.2 - > 1.16.3
xxhash: import from meta-oe
apt: update 1.8.2.2 -> 2.2.2
Alistair Francis (4):
openssl: Enable building for RISC-V 32-bit
linux-yocto: Add qemuriscv32 as a compatible machine
machine: Initial commit of qemuriscv32
u-boot: Add support for building for qemuriscv32
Andrei Gherzan (3):
gcr: Add support for building without x11
epiphany: Add package configuration for building in developer mode
glibc: Backport patch to fix _SC_LEVEL1_ICACHE_LINESIZE
Anton D. Kachalov (1):
run-postinsts: do not remove postinsts directory.
Awais Belal (2):
libsdl2: disable shared memory for native builds
rootfs.py: uninstall the run-postinsts package if not needed
Bartosz Golaszewski (1):
python3: make pydoc rdepend on python3-io
Bruce Ashfield (27):
linux-yocto/5.10: fix x86 32bit boot warnings
linux-yocto/5.10: fix qemumips testimage failures
linux-yocto/5.10: update to v5.10.17 and -rt31
linux-yocto/5.4: update to v5.4.99
linux-yocto/5.10: update to v5.10.19
linux-yocto/5.4: update to v5.4.101
perf: fix reproducibility issues
linux-yocto/5.4: update to v5.4.103
kern-tools: symbol-why fix and README update
linux-yocto/5.10: update to v5.10.21
linux-yocto/qemuarmv5: fix configuration warning
yocto-bsp: update reference platforms to latest 5.10
perf: reproducibility fixes for pmu-events.c
reproducibile: remove perf from exclusions
linux-yocto/5.10: fix SERIAL_OF_PLATFORM warning
linux-yocto/5.4: update to v5.4.105
linux-yocto/5.10: update to v5.10.23
linux-yocto/5.10: cfg: features/numa: Remove NODES_SPAN_OTHER_NODES option
lttng-modules: update devupstream to 2.12.5+
lttng-modules: backport patches to fix build against 5.12+ kernel
kernel-devsrc: fix on-target scripts/prepare for v5.12+
linux-yocto/5.10: cfg: fix ppc64 configuration warnings
linux-yocto-dev: bump to v5.12-rc
linux-yocto/5.10: update qemuriscv32 v5.10.23
linux-yocto/5.10: update to v5.10.25
linux-yocto/5.4: update to v5.4.107
linux-yocto-rt/5.10: update to -rt34
Changqing Li (1):
go-helloworld: disable module-aware mode
Charlie Davies (9):
bitbake-bblayers/create: Fix incorrect priority help message
bitbake-bblayers/create: Add optional layerid argument
bitbake: bitbake: providers: remove unneeded logging call
bitbake: bitbake: providers: consistent single line formatting between functions
bitbake: bitbake: providers: introduce logic for REQUIRED_VERSION variable
bitbake: bitbake: providers: check for REQUIRED_VERSION in _filterProviders
bitbake: bitbake: lib: add Required Version to Bitbake --show-versions command
bitbake: bitbake: cooker: Add REQUIRED_VERSION checks
multilib_global: handle REQUIRED_VERSION
Chen Qi (3):
python3-jinja2: set CVE_PRODUCT
bitbake: event.py: fix regression about INVALIDCONF
populate_sdk_ext: record METADATA_REVISION
Christopher Larson (2):
buildhistory: add missing vardepsexcludes
image,populate_sdk_base: move 'func' flag setting for sdk command vars
Diego Santa Cruz (2):
rpm: split build and extra functionality into separate packages
sstate-diff-machines.sh: support rpm, deb and tar package types in analysis
Dorinda (8):
meta/recipes-rt: Add HOMEPAGE / DESCRIPTION
meta-skeleton: Add HOMEPAGE / DESCRIPTION
meta/recipes-extended: Add HOMEPAGE / DESCRIPTION
meta/recipes-support: Add HOMEPAGE / DESCRIPTION
meta/recipes-kernel: Add HOMEPAGE / DESCRIPTION
meta/recipes-multimedia: Add HOMEPAGE / DESCRIPTION
meta/recipes-graphics: Add HOMEPAGE / DESCRIPTION
dev-manual/common-task.rst: Added documentation for debuginfod support
Dorinda Bassey (4):
meta/recipes-devtools: Add HOMEPAGE / DESCRIPTION
distrodata.py: Test to track recipes without HOMEPAGE or DESCRIPTION
meta-selftest: Add HOMEPAGE / DESCRIPTION
devshell.bbclass: Exceptions displayed within devpyshell
Douglas Royds (2):
cmake: Fully-qualified path to ar
externalsrc: Detect code changes in submodules
Jon Mason (5):
runqemu: use "raw" instead of "bin" for ovmf
runqemu: add QB_GRAPHICS
runqemu: correct forcing of ttyS0
runqemu: modify novga to conform to documentation
tune-cortexa32: Add hard FPU
Jose Quaresma (4):
spirv-tools: python3 is need not only for the tests
spirv-tools: cleanup an old patch that is not used anymore
gstreamer1.0: upgrade 1.18.3 -> 1.18.4
gstreamer1.0-plugins-good: fix rtpjitterbuffer regression
Kai Kang (2):
toolchain-scripts.bbclass: customize prompt string for SDKs
local.conf.sample.extended: sample value for SDK_PS1
Kevin Hao (1):
meta-yocto-bsp: beaglebone: Set a fixed size for boot partition in WIC image
Khairul Rohaizzat Jamaluddin (1):
glibc: Fix CVE-2021-27645
Khem Raj (33):
python3-cython: Check for files before editing
webkitgtk: Use linker options to reduce memory overhead during linking
webkitgtk: Enhance check for atomics to include 1 byte CAS
qemuppc64: Add a QEMU machine definition for ppc64
linux-yocto: Enable powerpc64le QEMU
formfactor: Add machine config for qemuppc64
inittab: Add getty launch on hvc0 for qemuppc64
parselogs: Allow expected kernel messages for qemuppc64
spirv-tools: Replace strncpy with memcpy
python3-setuptools: Upgrade 54.1.0 -> 54.1.1
perf: Remove libunwind for rv32
Enable qemu usermode on ppc64
cmake.bbclass: Create cmake arch mapping for ppc64le
libucontext: Recognize ppc64le architecture
libunwind: Do not assume libdir for ppc64
gcc: Package new module mapper tool
glib-2.0: Drop volatile qualifier
go: Update to 1.16.2
go-dep: Remove
libunwind: Link with libucontext on musl
libedit: upgrade 20191231-3.1 -> 20210216-3.1
webkitgtk: Reduce stack and heap sizes for jsc on musl
webkitgtk: Add packageconfig to chose between size and speed
webkitgtk: enable strlen and stpcpy on musl/linux too
gcc-sanitizers: Package up hwasan files
apt: Support old resolver as fallback
apt: Do not disable NLS
valgrind: Fix ptests on ppc64 LE
documentation-audit.sh: Fix typo in specifying LICENSE_FLAGS_WHITELIST
image-uefi: Set efi_file for rv32/rv64
grub2: Disable for RISCV32
grub-efi: Re-introduce lost cast to long
grub2: Enable on riscv32
Lee Chee Yang (2):
cve-update-db-native: consider version suffix when update CVE db
cve-check: CVE_VERSION_SUFFIX to work with patched release
Li Wang (1):
linux-dummy: add empty dependent packages
Luca Boccassi (2):
util-linux: split uuid in separate recipe to allow bootstrapping
util-linux: backport patch to skip build of unused objects
Manuel Leonhardt (1):
bitbake: tinfoil: Honor quiet when parsing recipes
Mark Hatle (2):
populate_sdk_ext: Avoid copying and producing .pyc files
populate_sdk_ext: Add support for PR service
Martin Jansa (7):
glib-2.0: call os.path.normpath on THISDIR
glib-2.0: show an error about --cross-file only when such file exists
busybox: refresh the defconfig from 1.33.0
busybox-inittab: rename for PV to match with busybox's PV
iso-codes: fix protocol in SRC_URI
packagegroup-core-weston.bb: add pam to REQUIRED_DISTRO_FEATURES
python3: fix PACKAGECONFIG handling
Michael Opdenacker (4):
bitbake: doc: Update links to documentation
Do not assume working from $HOME
Update documentation URL
documentation/README minor improvements
Michael Trensch (1):
linux-firmware: Fix packaging
Mikko Rapeli (1):
openssl: update to 1.1.1k to fix CVE-2021-3450 and CVE-2021-3449
Ming Liu (2):
kernel-fitimage.bbclass: support both KERNEL_DEVICETREE/EXTERNAL_KERNEL_DEVICETREE
initramfs-framework:rootfs: fix some conditional check
Mingli Yu (1):
libtool: make sure autoheader run before autoconf
Minjae Kim (3):
qemu: fix CVE-2021-20203
git: fix CVE-2021-21300
git: upgrade 2.30.1 -> 2.31.1
Naveen Saini (1):
grub: upgrade 2.04 -> 2.06~rc1
Oleksandr Kravchuk (1):
python3-setuptools: update to 54.1.0
Paul Gortmaker (1):
bitbake: gitignore: ignore runqueue-tests/bitbake-cookerdaemon.log
Peter Kjellerstedt (4):
meson: Correctly set uid/gid of installed files
uninative-tarball: Add a dependency on nativesdk-glibc-dbg
metadata_scm.bbclass: Use immediate expansion for the METADATA_* variables
license.bbclass: Improve parsing time when INCOMPATIBLE_LICENSES is big
Petr Vorel (1):
scripts/verify-bashisms: Update checkbashisms.pl URL
Purushottam Choudhary (1):
shadow: whitelist CVE-2013-4235
Randy MacLeod (2):
ffmpeg: upgrade 4.3.1 -> 4.3.2
zstd: upgrade 1.4.8 -> 1.4.9
Richard Purdie (33):
ltp: Fix another determinism issue
build-appliance-image: Drop kernel module handling
ltp: Further extend reproducibility patch
bitbake: runqueue: Fix task execution corruption issue
bitbake: runqueue: Add setscene task overlap sanity check
bitbake: __init__.py: Fix bitbake debug log handling
ltp: Fix determinism issue
ltp: Fix libswapon issue properly
bitbake: event: Fix multiconfig event handler change performance regressions
bitbake: event: Fix another 'if d' test to test for None explictly
bitbake: tests/color: Fix event register to pass the datastore
bitbake: bblayers/query: Update to handle REQUIRED_VERSION
scripts/contrib/list-packageconfig-flags: Upate for tinfoil API changes
layer.conf: Update for hardknott release series
layer.conf: Update for hardknott release series
build-appliance-image: Update to master head revision
layer.conf: Add gatesgarth back for now to allow for transition
build-appliance-image: Update to master head revision
meson: Work around determinism issue
lttng-tools: upgrade 2.12.2 -> 2.12.3
lttng-modules: upgrade 2.12.4 -> 2.12.5
sqlite3: upgrade 3.34.1 -> 3.35.0
sudo: upgrade 1.9.5p2 -> 1.9.6
selftest/reproducible: Drop ovmf exclusion
selftest/wic: Fix dependency issue in rawcopy test
layer.conf: Drop gatesgarth from the layer series names
bitbake: build: Add find_stale_stamps function
bitbake: runqueue/event: Add an event for notifying of stale setscene tasks
sstate: Remove stale objects before the main build
sstate: Add documentation for eventhandlers and tweak naming
site/elfutils/libunistring: Drop patching for iconv and set in site file
build-appliance-image: Update to master head revision
util-linux-libuuid: Simplify recipe and rename from util-linux-uuid
Robert P. J. Day (8):
bitbake-whatchanged: change ending quote to proper period
bitbake: doc: move BBFILES_DYNAMIC for alphabetical order
ref-manual: remove erroneous '\*' from variables list
bitbake: doc: mention that addtask handles multiple dependencies
bitbake: doc: fix glossary link for BB_INVALIDCONF variable
bitbake: doc: fix syntax error in layer.conf example
bitbake.conf: correct description of HOSTTOOLS_DIR
packagegroups: delete useless "PROVIDES" lines
Robert Yang (1):
image.bbclass: deltask do_packagedata
Ross Burton (13):
libinput: less parallism to increase chances the test suite works
ptest-packagelists: remove libinput-ptest
insane: don't check for a warning string that is never output
gcc: add an option for --enable-poison-system-directories to be fatal
gcc-cross: make use of the system include directories fatal
oeqa/selftest: add test to verify that poisoned sysroots are detected
ovmf: make output binaries reproducible
base: respect downloadfilename when sniffing the SRC_URI for dependencies
lib/oe/utils: add directory size function
classes/image: use oe.utils.directory_size() instead of du
bitbake.conf: ensure BUILD_* tools match target tools
meson: fix native/host confusion in gobject-introspection
meson: use native-file instead of environment variables
Sakib Sajal (2):
buildstats.bbclass: improve timeout handling
scripts: add oe-time-dd-test.sh
Scott Murray (1):
u-boot: Fix CVE-2021-27097, CVE-2021-27138
Stefan Ghinea (1):
wpa-supplicant: fix CVE-2021-27803
Stefan Schmidt (1):
systemd-conf: do not ask for DHCP if configured on kernel command line
Tomasz Dziendzielski (2):
bitbake: runqueue: Print pseudo.log if fakeroot task failed
bitbake: codeparser: Fix TypeError in bitbake debug mode
Ulrich ?lmann (1):
gstreamer1.0: add support for coretracers
Ulrich Ölmann (3):
common-tasks.rst: fix 'wic cp' command
common-tasks.rst: fix typo
local.conf.sample: fix typo
Vivien Didelot (6):
systemd-container: sort RRECOMMENDS alphabetically
systemd-container: recommend tar
systemd-container: recommends StartExecPre modules
poky: fix typos
poky: don't use space with +=
beaglebone-yocto: allow other virtual/bootloader
Wang Mingyu (20):
shaderc: upgrade 2020.4 -> 2020.5
stress-ng: upgrade 0.12.03 -> 0.12.04
taglib: upgrade 1.11.1 -> 1.12
vala: upgrade 0.50.3 -> 0.50.4
python3-pygments: upgrade 2.8.0 -> 2.8.1
python3-zipp: upgrade 3.4.0 -> 3.4.1
sysklogd: upgrade 2.2.1 -> 2.2.2
help2man: upgrade 1.48.1 -> 1.48.2
iso-codes: upgrade 4.5.0 -> 4.6.0
jquery: upgrade 3.5.1 -> 3.6.0
ovmf: upgrade 202011 -> 202102
msmtp: upgrade 1.8.14 -> 1.8.15
gptfdisk: upgrade 1.0.6 -> 1.0.7
vulkan-headers: upgrade 1.2.162.0 -> 1.2.170.0
vulkan-loader: upgrade 1.2.162.0 -> 1.2.170.0
vulkan-tools: upgrade 1.2.162.1 -> 1.2.170.0
gcc: Update patch to only patch files once
openssh: upgrade 8.4p1 -> 8.5p1
openssh: Improve LICENSE to show BSD license variants.
gnutls: upgrade 3.7.0 -> 3.7.1
Yanfei Xu (1):
glibc: fix pthread_cond_destroy hangs with process-shared mutex
Yann Dirson (1):
ffmpeg: disable GPL features by default
Yi Fan Yu (1):
valgrind: Fix nlcontrolc.vgtest
jan (1):
cve-update-db-native: Allow to overrule the URL in a bbappend.
wangmy@fujitsu.com (1):
systemd: upgrade 247.3 -> 247.4
zhengruoqin (3):
sudo: upgrade 1.9.6 -> 1.9.6p1
liburi-perl: upgrade 1.74 -> 5.08
stress-ng: upgrade 0.12.04 -> 0.12.05
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I04195d4c610ca1674dd736eceeb6442d974cb711
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch b/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch
new file mode 100644
index 0000000..c2a70dc
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch
@@ -0,0 +1,40 @@
+From 2d1d6350af1db28ec520e26d0069a0518950b0a1 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Tue, 9 Mar 2021 15:21:11 +0000
+Subject: [PATCH 1/3] open_posix_testsuite/generate-makefiles.sh: Avoid
+ inconsistencies with make version
+
+With make 4.1, INSTALL_TARGETS+=<tab> will add a space to the variable whereas
+with make 4.3, it will not. This leads to differing run.sh files in installed
+in packages which is undesireable. If tests is empty we don't have to add
+the line to the makefiles at all which seems like the easiest way to
+avoid the differences in make behaviour.
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021386.html]
+
+---
+ .../open_posix_testsuite/scripts/generate-makefiles.sh | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
+index 200a631db..4b3aaa4a0 100755
+--- a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
++++ b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
+@@ -148,8 +148,12 @@ EOF
+
+ fi
+
+- cat >> "$makefile.2" <<EOF
++ if [ ! -z "${tests}" ]; then
++ cat >> "$makefile.2" <<EOF
+ INSTALL_TARGETS+= ${tests}
++EOF
++ fi
++ cat >> "$makefile.2" <<EOF
+ MAKE_TARGETS+= ${targets}
+
+ EOF
+--
+2.27.0
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch b/poky/meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch
new file mode 100644
index 0000000..4859c3e
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch
@@ -0,0 +1,310 @@
+From 4030e28f2c2296ba138cb5e2495202f8aec7ba32 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Tue, 9 Mar 2021 15:21:36 +0000
+Subject: [PATCH 2/3] Makefile: Avoid wildcard determinism issues
+
+wildcard used in Makefiles preserves the order of the files on disk
+which leads to differences in the order the binaries are linked.
+
+This patch tweaks the usage of wildcard to also have a sort, making
+the binaries reproducible. A previous patch massively improved
+the situation but wider testing showed that these other changes can
+have an effect on some binaries, this patch avoids those issues as
+exposed by our wider testing.
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021388.html]
+
+---
+ include/mk/env_post.mk | 2 +-
+ include/mk/module.mk | 2 +-
+ runtest/Makefile | 2 +-
+ scenario_groups/Makefile | 2 +-
+ testcases/commands/ldd/datafiles/Makefile | 2 +-
+ testcases/kernel/hotplug/memory_hotplug/Makefile | 3 ++-
+ testcases/kernel/io/disktest/Makefile | 2 +-
+ testcases/kernel/io/disktest/Makefile.linux | 4 ++--
+ testcases/kernel/sched/hyperthreading/ht_affinity/Makefile | 2 +-
+ testcases/kernel/sched/hyperthreading/ht_enabled/Makefile | 2 +-
+ testcases/kernel/sched/sched_stress/Makefile | 2 +-
+ testcases/kernel/syscalls/lchown/Makefile | 2 +-
+ testcases/kernel/syscalls/migrate_pages/Makefile | 2 +-
+ testcases/kernel/syscalls/move_pages/Makefile | 2 +-
+ testcases/kernel/syscalls/utils/compat_16.mk | 2 +-
+ testcases/kernel/syscalls/utils/newer_64.mk | 2 +-
+ testcases/misc/math/float/Makefile | 2 +-
+ testcases/network/nfs/nfs_stress/nfs05_make_tree.c | 4 ++--
+ testcases/network/nfsv4/locks/Makefile | 2 +-
+ utils/sctp/func_tests/Makefile | 2 +-
+ 20 files changed, 23 insertions(+), 22 deletions(-)
+
+diff --git a/include/mk/env_post.mk b/include/mk/env_post.mk
+index d52ad9f0b..1d22f9c53 100644
+--- a/include/mk/env_post.mk
++++ b/include/mk/env_post.mk
+@@ -47,7 +47,7 @@ LDFLAGS += -L$(top_builddir)/lib/android_libpthread
+ LDFLAGS += -L$(top_builddir)/lib/android_librt
+ endif
+
+-MAKE_TARGETS ?= $(notdir $(patsubst %.c,%,$(wildcard $(abs_srcdir)/*.c)))
++MAKE_TARGETS ?= $(notdir $(patsubst %.c,%,$(sort $(wildcard $(abs_srcdir)/*.c))))
+ MAKE_TARGETS := $(filter-out $(FILTER_OUT_MAKE_TARGETS),$(MAKE_TARGETS))
+
+ # with only *.dwo, .[0-9]+.dwo can not be cleaned
+diff --git a/include/mk/module.mk b/include/mk/module.mk
+index 95fb8336a..6c8814b96 100644
+--- a/include/mk/module.mk
++++ b/include/mk/module.mk
+@@ -42,7 +42,7 @@ endif
+
+ ifneq ($(filter install clean,$(MAKECMDGOALS)),)
+ MAKE_TARGETS := $(filter-out %.ko, $(MAKE_TARGETS))
+-MAKE_TARGETS += $(wildcard *.ko)
++MAKE_TARGETS += $(sort $(wildcard *.ko))
+ endif
+
+ CLEAN_TARGETS += .dep_modules *.mod built-in.a
+diff --git a/runtest/Makefile b/runtest/Makefile
+index b7caaee06..6a1565b6a 100644
+--- a/runtest/Makefile
++++ b/runtest/Makefile
+@@ -36,7 +36,7 @@ ifneq ($(WITH_POWER_MANAGEMENT_TESTSUITE),yes)
+ UNWANTED_FILES += power_management_tests
+ endif
+
+-INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*))))
++INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*)))))
+
+ MAKE_TARGETS :=
+
+diff --git a/scenario_groups/Makefile b/scenario_groups/Makefile
+index 2978675d9..fcbc92708 100644
+--- a/scenario_groups/Makefile
++++ b/scenario_groups/Makefile
+@@ -31,7 +31,7 @@ UNWANTED_FILES := Makefile
+
+ INSTALL_MODE := 00644
+
+-INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*))))
++INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*)))))
+
+ MAKE_TARGETS :=
+
+diff --git a/testcases/commands/ldd/datafiles/Makefile b/testcases/commands/ldd/datafiles/Makefile
+index d8bcf5c06..01c352052 100644
+--- a/testcases/commands/ldd/datafiles/Makefile
++++ b/testcases/commands/ldd/datafiles/Makefile
+@@ -21,7 +21,7 @@ CPPFLAGS += -fpic
+
+ INSTALL_TARGETS := ldd*.so lddfile.out
+
+-LDD_C_FILES := $(wildcard $(abs_srcdir)/lddfile*.c)
++LDD_C_FILES := $(sort $(wildcard $(abs_srcdir)/lddfile*.c))
+ LDD_SO_FILES := $(patsubst $(abs_srcdir)/%.c,%.obj.so,$(LDD_C_FILES))
+ MAKE_TARGETS := lddfile.out
+ CLEAN_TARGETS += *.obj $(LDD_SO_FILES)
+diff --git a/testcases/kernel/hotplug/memory_hotplug/Makefile b/testcases/kernel/hotplug/memory_hotplug/Makefile
+index d1ba65e65..38a77a2ba 100644
+--- a/testcases/kernel/hotplug/memory_hotplug/Makefile
++++ b/testcases/kernel/hotplug/memory_hotplug/Makefile
+@@ -31,6 +31,7 @@ LDLIBS := $(filter-out -lltp,$(LDLIBS))
+
+ MAKE_TARGETS := memtoy
+
+-memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
++
+
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/kernel/io/disktest/Makefile b/testcases/kernel/io/disktest/Makefile
+index d10d98434..3a3a9cbf0 100644
+--- a/testcases/kernel/io/disktest/Makefile
++++ b/testcases/kernel/io/disktest/Makefile
+@@ -209,7 +209,7 @@ LDLIBS += -lpthread
+
+ MAKE_TARGETS := disktest
+
+-OBJS := $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++OBJS := $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
+
+ disktest-$(VER):
+ mkdir -p "$@"
+diff --git a/testcases/kernel/io/disktest/Makefile.linux b/testcases/kernel/io/disktest/Makefile.linux
+index ea45b5a57..0f3aab622 100644
+--- a/testcases/kernel/io/disktest/Makefile.linux
++++ b/testcases/kernel/io/disktest/Makefile.linux
+@@ -167,8 +167,8 @@ mandir=/usr/share/man
+
+ VER=`grep VER_STR main.h | awk -F\" '{print $$2}'`
+ GBLHDRS=main.h globals.h defs.h
+-ALLHDRS=$(wildcard *.h)
+-SRCS=$(wildcard *.c)
++ALLHDRS=$(sort $(wildcard *.h))
++SRCS=$(sort $(wildcard *.c))
+ OBJS=$(SRCS:.c=.o)
+
+ 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)
+diff --git a/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile b/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
+index 10fec96dc..6b64bd261 100644
+--- a/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
++++ b/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
+@@ -28,6 +28,6 @@ INSTALL_TARGETS := smt_smp_affinity.sh
+
+ MAKE_TARGETS := ht_affinity
+
+-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
+
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile b/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
+index 9c1e139d6..585ff1383 100644
+--- a/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
++++ b/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
+@@ -28,6 +28,6 @@ INSTALL_TARGETS := smt_smp_enabled.sh
+
+ MAKE_TARGETS := ht_enabled
+
+-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
+
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/kernel/sched/sched_stress/Makefile b/testcases/kernel/sched/sched_stress/Makefile
+index b76126c73..4dbbf3477 100644
+--- a/testcases/kernel/sched/sched_stress/Makefile
++++ b/testcases/kernel/sched/sched_stress/Makefile
+@@ -10,7 +10,7 @@ INSTALL_TARGETS := sched_stress.sh
+
+ LDLIBS += -lpthread
+
+-MAKE_TARGETS := $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c)))
++MAKE_TARGETS := $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c))))
+
+ RM += -r
+
+diff --git a/testcases/kernel/syscalls/lchown/Makefile b/testcases/kernel/syscalls/lchown/Makefile
+index 13d39cb81..305fee281 100644
+--- a/testcases/kernel/syscalls/lchown/Makefile
++++ b/testcases/kernel/syscalls/lchown/Makefile
+@@ -5,7 +5,7 @@ top_srcdir ?= ../../../..
+
+ include $(top_srcdir)/include/mk/testcases.mk
+
+-SRCS := $(wildcard $(abs_srcdir)/lchown*.c)
++SRCS := $(sort $(wildcard $(abs_srcdir)/lchown*.c))
+
+ include $(abs_srcdir)/../utils/compat_16.mk
+
+diff --git a/testcases/kernel/syscalls/migrate_pages/Makefile b/testcases/kernel/syscalls/migrate_pages/Makefile
+index 46912b025..9cf3ce526 100644
+--- a/testcases/kernel/syscalls/migrate_pages/Makefile
++++ b/testcases/kernel/syscalls/migrate_pages/Makefile
+@@ -5,7 +5,7 @@ top_srcdir ?= ../../../..
+
+ include $(top_srcdir)/include/mk/testcases.mk
+
+-MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c))
++MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c)))
+ $(MAKE_TARGETS): %: migrate_pages_common.o
+
+ CPPFLAGS += -I$(abs_srcdir)/../utils/
+diff --git a/testcases/kernel/syscalls/move_pages/Makefile b/testcases/kernel/syscalls/move_pages/Makefile
+index cd7ff6349..4b22160ed 100644
+--- a/testcases/kernel/syscalls/move_pages/Makefile
++++ b/testcases/kernel/syscalls/move_pages/Makefile
+@@ -7,7 +7,7 @@ include $(top_srcdir)/include/mk/testcases.mk
+
+ CPPFLAGS += -I$(abs_srcdir)/../utils
+
+-MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c))
++MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c)))
+
+ $(MAKE_TARGETS): %: move_pages_support.o
+
+diff --git a/testcases/kernel/syscalls/utils/compat_16.mk b/testcases/kernel/syscalls/utils/compat_16.mk
+index a0ff8f558..e81a00c40 100644
+--- a/testcases/kernel/syscalls/utils/compat_16.mk
++++ b/testcases/kernel/syscalls/utils/compat_16.mk
+@@ -50,7 +50,7 @@
+
+ CPPFLAGS += -I$(abs_srcdir) -I$(abs_srcdir)/../utils
+
+-SRCS ?= $(wildcard $(abs_srcdir)/*.c)
++SRCS ?= $(sort $(wildcard $(abs_srcdir)/*.c))
+
+ MAKE_TARGETS := $(notdir $(patsubst %.c,%,$(SRCS)))
+ MAKE_TARGETS_OBJS_WO_COMPAT_16 := $(addsuffix .o,$(MAKE_TARGETS))
+diff --git a/testcases/kernel/syscalls/utils/newer_64.mk b/testcases/kernel/syscalls/utils/newer_64.mk
+index 8cd7e03c8..5e798057a 100644
+--- a/testcases/kernel/syscalls/utils/newer_64.mk
++++ b/testcases/kernel/syscalls/utils/newer_64.mk
+@@ -25,7 +25,7 @@
+
+ CPPFLAGS += -I$(abs_srcdir) -I$(abs_srcdir)/../utils
+
+-SRCS ?= $(wildcard $(abs_srcdir)/*.c)
++SRCS ?= $(sort $(wildcard $(abs_srcdir)/*.c))
+
+ MAKE_TARGETS := $(notdir $(patsubst %.c,%,$(SRCS)))
+
+diff --git a/testcases/misc/math/float/Makefile b/testcases/misc/math/float/Makefile
+index 79dda35d6..5f4cb0f6c 100644
+--- a/testcases/misc/math/float/Makefile
++++ b/testcases/misc/math/float/Makefile
+@@ -27,6 +27,6 @@ include $(top_srcdir)/include/mk/testcases.mk
+ LDLIBS += -lpthread -lm
+
+ # main.c doesn't compile...
+-MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/float*.c))
++MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/float*.c)))
+
+ include $(top_srcdir)/include/mk/generic_trunk_target.mk
+diff --git a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
+index 12c86799d..23c520d9d 100644
+--- a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
++++ b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
+@@ -104,7 +104,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNUSED void *args)
+ "\treturn 0;\n}\n";
+
+ const char make_buf_n[] = "CFLAGS := -O -w -g\n"
+- "SRCS=$(wildcard *.c)\n"
++ "SRCS=$(sort $(wildcard *.c))\n"
+ "TARGETS=$(SRCS:.c=)\n"
+ "all: $(TARGETS)\n"
+ "$(TARGETS): %: %.c\n"
+@@ -114,7 +114,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNUSED void *args)
+
+ const char make_buf[] = "CFLAGS := -O -w -g\n"
+ "SUBDIR = dir\n"
+- "SRCS=$(wildcard *.c)\n"
++ "SRCS=$(sort $(wildcard *.c))\n"
+ "TARGETS=$(SRCS:.c=)\n"
+ "all: $(SUBDIR) $(TARGETS)\n"
+ "$(TARGETS): %: %.c\n"
+diff --git a/testcases/network/nfsv4/locks/Makefile b/testcases/network/nfsv4/locks/Makefile
+index 5812dea3a..05941c892 100644
+--- a/testcases/network/nfsv4/locks/Makefile
++++ b/testcases/network/nfsv4/locks/Makefile
+@@ -28,6 +28,6 @@ MAKE_TARGETS := locktests
+
+ LDLIBS += -lpthread
+
+-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
+
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/utils/sctp/func_tests/Makefile b/utils/sctp/func_tests/Makefile
+index d296c652a..a17107853 100644
+--- a/utils/sctp/func_tests/Makefile
++++ b/utils/sctp/func_tests/Makefile
+@@ -30,7 +30,7 @@ LDFLAGS += $(addprefix -L$(abs_builddir)/../,lib testlib)
+
+ LDLIBS += -lsctputil -lsctp -lpthread
+
+-V4_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c))
++V4_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c)))
+
+ V6_TARGETS := test_basic_v6 test_fragments_v6 test_getname_v6 \
+ test_inaddr_any_v6 test_peeloff_v6 \
+--
+2.27.0
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch b/poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch
new file mode 100644
index 0000000..5ace82d
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch
@@ -0,0 +1,133 @@
+From 0653f1d809d0cc13f84facb9d2d82d984ac4d0ac Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Tue, 9 Mar 2021 15:25:16 +0000
+Subject: [PATCH 3/3] syscalls/swapon/swapoff: Move common library to libs/
+
+There is a race/determinism issue with libswapon currently as depending on
+which makefile path builds it, the debug paths may be "../swapon/libswapon.c"
+or "libswapon.c". To avoid the determinism issue, move libswapon to libs/
+and use it from the shared location.
+
+The header is moved to the common includes directory to match and
+the Makefile.inc fragment can be dropped.
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021387.html]
+
+---
+ .../kernel/syscalls/swapon => include}/libswapon.h | 0
+ libs/libltpswapon/Makefile | 12 ++++++++++++
+ .../swapon => libs/libltpswapon}/libswapon.c | 0
+ testcases/kernel/syscalls/swapoff/Makefile | 7 +++++--
+ testcases/kernel/syscalls/swapoff/Makefile.inc | 6 ------
+ testcases/kernel/syscalls/swapoff/swapoff01.c | 2 +-
+ testcases/kernel/syscalls/swapoff/swapoff02.c | 2 +-
+ testcases/kernel/syscalls/swapon/Makefile | 6 +++---
+ 8 files changed, 22 insertions(+), 13 deletions(-)
+ rename {testcases/kernel/syscalls/swapon => include}/libswapon.h (100%)
+ create mode 100644 libs/libltpswapon/Makefile
+ rename {testcases/kernel/syscalls/swapon => libs/libltpswapon}/libswapon.c (100%)
+ delete mode 100644 testcases/kernel/syscalls/swapoff/Makefile.inc
+
+diff --git a/testcases/kernel/syscalls/swapon/libswapon.h b/include/libswapon.h
+similarity index 100%
+rename from testcases/kernel/syscalls/swapon/libswapon.h
+rename to include/libswapon.h
+diff --git a/libs/libltpswapon/Makefile b/libs/libltpswapon/Makefile
+new file mode 100644
+index 000000000..8f738338b
+--- /dev/null
++++ b/libs/libltpswapon/Makefile
+@@ -0,0 +1,12 @@
++# SPDX-License-Identifier: GPL-2.0-or-later
++#
++# Copyright (C) Richard Purdie <richard.purdie@linuxfoundation.org>
++
++top_srcdir ?= ../..
++
++include $(top_srcdir)/include/mk/env_pre.mk
++
++INTERNAL_LIB := libltpswapon.a
++
++include $(top_srcdir)/include/mk/lib.mk
++include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/kernel/syscalls/swapon/libswapon.c b/libs/libltpswapon/libswapon.c
+similarity index 100%
+rename from testcases/kernel/syscalls/swapon/libswapon.c
+rename to libs/libltpswapon/libswapon.c
+diff --git a/testcases/kernel/syscalls/swapoff/Makefile b/testcases/kernel/syscalls/swapoff/Makefile
+index fbfbe0441..a74374605 100644
+--- a/testcases/kernel/syscalls/swapoff/Makefile
++++ b/testcases/kernel/syscalls/swapoff/Makefile
+@@ -3,7 +3,10 @@
+
+ top_srcdir ?= ../../../..
+
++LTPLIBS = ltpswapon
++
+ include $(top_srcdir)/include/mk/testcases.mk
+-include $(abs_srcdir)/./Makefile.inc
++
++LTPLDLIBS = -lltpswapon
++
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+-$(MAKE_TARGETS): %: ../swapon/libswapon.o
+diff --git a/testcases/kernel/syscalls/swapoff/Makefile.inc b/testcases/kernel/syscalls/swapoff/Makefile.inc
+deleted file mode 100644
+index 65350cbeb..000000000
+--- a/testcases/kernel/syscalls/swapoff/Makefile.inc
++++ /dev/null
+@@ -1,6 +0,0 @@
+-LIBDIR += ../swapon/
+-LIBSWAPON := $(LIBDIR)/libswapon.o
+-$(LIBSWAPON):
+- $(MAKE) -C $(LIBDIR)
+-CPPFLAGS += -I$(abs_srcdir)/$(LIBDIR)
+-LDFLAGS += -L$(abs_builddir)/$(LIBDIR)
+diff --git a/testcases/kernel/syscalls/swapoff/swapoff01.c b/testcases/kernel/syscalls/swapoff/swapoff01.c
+index e115269c0..87a217a89 100644
+--- a/testcases/kernel/syscalls/swapoff/swapoff01.c
++++ b/testcases/kernel/syscalls/swapoff/swapoff01.c
+@@ -25,7 +25,7 @@
+ #include <stdlib.h>
+ #include "config.h"
+ #include "lapi/syscalls.h"
+-#include "../swapon/libswapon.h"
++#include "libswapon.h"
+
+ static void setup(void);
+ static void cleanup(void);
+diff --git a/testcases/kernel/syscalls/swapoff/swapoff02.c b/testcases/kernel/syscalls/swapoff/swapoff02.c
+index 8954f975f..60cd66c26 100644
+--- a/testcases/kernel/syscalls/swapoff/swapoff02.c
++++ b/testcases/kernel/syscalls/swapoff/swapoff02.c
+@@ -33,7 +33,7 @@
+ #include "test.h"
+ #include "lapi/syscalls.h"
+ #include "safe_macros.h"
+-#include "../swapon/libswapon.h"
++#include "libswapon.h"
+
+ static void setup(void);
+ static void cleanup(void);
+diff --git a/testcases/kernel/syscalls/swapon/Makefile b/testcases/kernel/syscalls/swapon/Makefile
+index 97113a447..57ec45d48 100644
+--- a/testcases/kernel/syscalls/swapon/Makefile
++++ b/testcases/kernel/syscalls/swapon/Makefile
+@@ -8,10 +8,10 @@ endif
+
+ top_srcdir ?= ../../../..
+
++LTPLIBS = ltpswapon
++
+ include $(top_srcdir)/include/mk/testcases.mk
+
+-FILTER_OUT_MAKE_TARGETS := libswapon
++LTPLDLIBS = -lltpswapon
+
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+-
+-$(MAKE_TARGETS): %: libswapon.o
+--
+2.27.0
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/libswapon.patch b/poky/meta/recipes-extended/ltp/ltp/libswapon.patch
new file mode 100644
index 0000000..07b0dce
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/libswapon.patch
@@ -0,0 +1,368 @@
+Index: git/libs/libltpswapon/Makefile
+===================================================================
+--- /dev/null
++++ git/libs/libltpswapon/Makefile
+@@ -0,0 +1,12 @@
++# SPDX-License-Identifier: GPL-2.0-or-later
++#
++# Copyright (C) Richard Purdie <richard.purdie@linuxfoundation.org>
++
++top_srcdir ?= ../..
++
++include $(top_srcdir)/include/mk/env_pre.mk
++
++INTERNAL_LIB := libltpswapon.a
++
++include $(top_srcdir)/include/mk/lib.mk
++include $(top_srcdir)/include/mk/generic_leaf_target.mk
+Index: git/libs/libltpswapon/libswapon.c
+===================================================================
+--- /dev/null
++++ git/libs/libltpswapon/libswapon.c
+@@ -0,0 +1,90 @@
++/*
++ * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it would be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Author: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
++ *
++ */
++
++#include <errno.h>
++#include "lapi/syscalls.h"
++#include "test.h"
++#include "libswapon.h"
++
++/*
++ * Make a swap file
++ */
++int make_swapfile(void (cleanup)(void), const char *swapfile, int safe)
++{
++ if (!tst_fs_has_free(NULL, ".", sysconf(_SC_PAGESIZE) * 10,
++ TST_BYTES)) {
++ tst_brkm(TBROK, cleanup,
++ "Insufficient disk space to create swap file");
++ }
++
++ /* create file */
++ if (tst_fill_file(swapfile, 0,
++ sysconf(_SC_PAGESIZE), 10) != 0) {
++ tst_brkm(TBROK, cleanup, "Failed to create swapfile");
++ }
++
++ /* make the file swapfile */
++ const char *argv[2 + 1];
++ argv[0] = "mkswap";
++ argv[1] = swapfile;
++ argv[2] = NULL;
++
++ return tst_cmd(cleanup, argv, "/dev/null", "/dev/null", safe);
++}
++
++/*
++ * Check swapon/swapoff support status of filesystems or files
++ * we are testing on.
++ */
++void is_swap_supported(void (cleanup)(void), const char *filename)
++{
++ int fibmap = tst_fibmap(filename);
++ long fs_type = tst_fs_type(cleanup, filename);
++ const char *fstype = tst_fs_type_name(fs_type);
++
++ int ret = make_swapfile(NULL, filename, 1);
++ if (ret != 0) {
++ if (fibmap == 1) {
++ tst_brkm(TCONF, cleanup,
++ "mkswap on %s not supported", fstype);
++ } else {
++ tst_brkm(TFAIL, cleanup,
++ "mkswap on %s failed", fstype);
++ }
++ }
++
++ TEST(ltp_syscall(__NR_swapon, filename, 0));
++ if (TEST_RETURN == -1) {
++ if (fibmap == 1 && errno == EINVAL) {
++ tst_brkm(TCONF, cleanup,
++ "Swapfile on %s not implemented", fstype);
++ } else {
++ tst_brkm(TFAIL | TERRNO, cleanup,
++ "swapon on %s failed", fstype);
++ }
++ }
++
++ TEST(ltp_syscall(__NR_swapoff, filename, 0));
++ if (TEST_RETURN == -1) {
++ tst_brkm(TFAIL | TERRNO, cleanup,
++ "swapoff on %s failed", fstype);
++ }
++}
+Index: git/testcases/kernel/syscalls/swapoff/Makefile
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapoff/Makefile
++++ git/testcases/kernel/syscalls/swapoff/Makefile
+@@ -3,7 +3,11 @@
+
+ top_srcdir ?= ../../../..
+
++LTPLIBS = ltpswapon
++
+ include $(top_srcdir)/include/mk/testcases.mk
+-include $(abs_srcdir)/./Makefile.inc
++
++LTPLDLIBS = -lltpswapon
++
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+-$(MAKE_TARGETS): %: ../swapon/libswapon.o
++
+Index: git/testcases/kernel/syscalls/swapoff/Makefile.inc
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapoff/Makefile.inc
++++ /dev/null
+@@ -1,6 +0,0 @@
+-LIBDIR += ../swapon/
+-LIBSWAPON := $(LIBDIR)/libswapon.o
+-$(LIBSWAPON):
+- $(MAKE) -C $(LIBDIR)
+-CPPFLAGS += -I$(abs_srcdir)/$(LIBDIR)
+-LDFLAGS += -L$(abs_builddir)/$(LIBDIR)
+Index: git/testcases/kernel/syscalls/swapon/Makefile
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapon/Makefile
++++ git/testcases/kernel/syscalls/swapon/Makefile
+@@ -8,10 +8,10 @@ endif
+
+ top_srcdir ?= ../../../..
+
++LTPLIBS = ltpswapon
++
+ include $(top_srcdir)/include/mk/testcases.mk
+
+-FILTER_OUT_MAKE_TARGETS := libswapon
++LTPLDLIBS = -lltpswapon
+
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+-
+-$(MAKE_TARGETS): %: libswapon.o
+Index: git/testcases/kernel/syscalls/swapon/libswapon.c
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapon/libswapon.c
++++ /dev/null
+@@ -1,90 +0,0 @@
+-/*
+- * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved.
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2 of
+- * the License, or (at your option) any later version.
+- *
+- * This program is distributed in the hope that it would be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write the Free Software Foundation,
+- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+- *
+- * Author: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
+- *
+- */
+-
+-#include <errno.h>
+-#include "lapi/syscalls.h"
+-#include "test.h"
+-#include "libswapon.h"
+-
+-/*
+- * Make a swap file
+- */
+-int make_swapfile(void (cleanup)(void), const char *swapfile, int safe)
+-{
+- if (!tst_fs_has_free(NULL, ".", sysconf(_SC_PAGESIZE) * 10,
+- TST_BYTES)) {
+- tst_brkm(TBROK, cleanup,
+- "Insufficient disk space to create swap file");
+- }
+-
+- /* create file */
+- if (tst_fill_file(swapfile, 0,
+- sysconf(_SC_PAGESIZE), 10) != 0) {
+- tst_brkm(TBROK, cleanup, "Failed to create swapfile");
+- }
+-
+- /* make the file swapfile */
+- const char *argv[2 + 1];
+- argv[0] = "mkswap";
+- argv[1] = swapfile;
+- argv[2] = NULL;
+-
+- return tst_cmd(cleanup, argv, "/dev/null", "/dev/null", safe);
+-}
+-
+-/*
+- * Check swapon/swapoff support status of filesystems or files
+- * we are testing on.
+- */
+-void is_swap_supported(void (cleanup)(void), const char *filename)
+-{
+- int fibmap = tst_fibmap(filename);
+- long fs_type = tst_fs_type(cleanup, filename);
+- const char *fstype = tst_fs_type_name(fs_type);
+-
+- int ret = make_swapfile(NULL, filename, 1);
+- if (ret != 0) {
+- if (fibmap == 1) {
+- tst_brkm(TCONF, cleanup,
+- "mkswap on %s not supported", fstype);
+- } else {
+- tst_brkm(TFAIL, cleanup,
+- "mkswap on %s failed", fstype);
+- }
+- }
+-
+- TEST(ltp_syscall(__NR_swapon, filename, 0));
+- if (TEST_RETURN == -1) {
+- if (fibmap == 1 && errno == EINVAL) {
+- tst_brkm(TCONF, cleanup,
+- "Swapfile on %s not implemented", fstype);
+- } else {
+- tst_brkm(TFAIL | TERRNO, cleanup,
+- "swapon on %s failed", fstype);
+- }
+- }
+-
+- TEST(ltp_syscall(__NR_swapoff, filename, 0));
+- if (TEST_RETURN == -1) {
+- tst_brkm(TFAIL | TERRNO, cleanup,
+- "swapoff on %s failed", fstype);
+- }
+-}
+Index: git/testcases/kernel/syscalls/swapon/libswapon.h
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapon/libswapon.h
++++ /dev/null
+@@ -1,39 +0,0 @@
+-/*
+- * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved.
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2 of
+- * the License, or (at your option) any later version.
+- *
+- * This program is distributed in the hope that it would be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write the Free Software Foundation,
+- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+- *
+- * Author: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
+- *
+- */
+-
+-/*
+- * Contains common content for all swapon tests
+- */
+-
+-#ifndef __LIBSWAPON_H__
+-#define __LIBSWAPON_H__
+-
+-/*
+- * Make a swap file
+- */
+-int make_swapfile(void (cleanup)(void), const char *swapfile, int safe);
+-
+-/*
+- * Check swapon/swapoff support status of filesystems or files
+- * we are testing on.
+- */
+-void is_swap_supported(void (cleanup)(void), const char *filename);
+-#endif /* __LIBSWAPON_H__ */
+Index: git/testcases/kernel/syscalls/swapoff/swapoff01.c
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapoff/swapoff01.c
++++ git/testcases/kernel/syscalls/swapoff/swapoff01.c
+@@ -25,7 +25,7 @@
+ #include <stdlib.h>
+ #include "config.h"
+ #include "lapi/syscalls.h"
+-#include "../swapon/libswapon.h"
++#include "libswapon.h"
+
+ static void setup(void);
+ static void cleanup(void);
+Index: git/testcases/kernel/syscalls/swapoff/swapoff02.c
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapoff/swapoff02.c
++++ git/testcases/kernel/syscalls/swapoff/swapoff02.c
+@@ -33,7 +33,7 @@
+ #include "test.h"
+ #include "lapi/syscalls.h"
+ #include "safe_macros.h"
+-#include "../swapon/libswapon.h"
++#include "libswapon.h"
+
+ static void setup(void);
+ static void cleanup(void);
+Index: git/include/libswapon.h
+===================================================================
+--- /dev/null
++++ git/include/libswapon.h
+@@ -0,0 +1,39 @@
++/*
++ * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it would be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Author: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
++ *
++ */
++
++/*
++ * Contains common content for all swapon tests
++ */
++
++#ifndef __LIBSWAPON_H__
++#define __LIBSWAPON_H__
++
++/*
++ * Make a swap file
++ */
++int make_swapfile(void (cleanup)(void), const char *swapfile, int safe);
++
++/*
++ * Check swapon/swapoff support status of filesystems or files
++ * we are testing on.
++ */
++void is_swap_supported(void (cleanup)(void), const char *filename);
++#endif /* __LIBSWAPON_H__ */
diff --git a/poky/meta/recipes-extended/ltp/ltp_20210121.bb b/poky/meta/recipes-extended/ltp/ltp_20210121.bb
index 593f070..f58ca2e 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20210121.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20210121.bb
@@ -30,8 +30,8 @@
SRCREV = "4d005621edd109d119627eb9210b224a63bf22cb"
# remove at next version upgrade or when output changes
-PR = "r1"
-HASHEQUIV_HASH_VERSION .= ".1"
+PR = "r4"
+HASHEQUIV_HASH_VERSION .= ".4"
SRC_URI = "git://github.com/linux-test-project/ltp.git \
file://0001-build-Add-option-to-select-libc-implementation.patch \
@@ -39,6 +39,9 @@
file://0001-Add-more-musl-exclusions.patch \
file://0001-Remove-OOM-tests-from-runtest-mm.patch \
file://determinism.patch \
+ file://0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch \
+ file://0002-Makefile-Avoid-wildcard-determinism-issues.patch \
+ file://0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch \
"
S = "${WORKDIR}/git"
@@ -56,14 +59,6 @@
# ltp network/rpc test cases ftbfs when libtirpc is found
EXTRA_OECONF += " --without-tirpc "
-do_compile_prepend() {
- # Reported at http://lists.linux.it/pipermail/ltp/2021-March/021274.html
- # Avoid a race over construction of libswapon.o which is built by swapon and swapoff
- # but the object differs depending upon which one built it
- # ("../swapon/libswapon.c" vs "libswapon.c" references)
- make -C ${B}/testcases/kernel/syscalls/swapon/
-}
-
do_install(){
install -d ${D}${prefix}/
oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install