From 95ac1b8d7409c14ee15ddcb7e5dd3d28b24caa7f Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 14:34:31 -0500 Subject: poky: subtree update:c8075ed8f1..7d0988966c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Change-Id: I04195d4c610ca1674dd736eceeb6442d974cb711 --- ...testsuite-generate-makefiles.sh-Avoid-inc.patch | 40 +++ ...akefile-Avoid-wildcard-determinism-issues.patch | 310 +++++++++++++++++ ...wapon-swapoff-Move-common-library-to-libs.patch | 133 ++++++++ poky/meta/recipes-extended/ltp/ltp/libswapon.patch | 368 +++++++++++++++++++++ poky/meta/recipes-extended/ltp/ltp_20210121.bb | 15 +- 5 files changed, 856 insertions(+), 10 deletions(-) create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/libswapon.patch (limited to 'poky/meta/recipes-extended/ltp') 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 000000000..c2a70dcb6 --- /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 +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+= 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 +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" <> "$makefile.2" <> "$makefile.2" < +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 +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 000000000..5ace82dba --- /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 +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 +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 ++ ++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 + #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 000000000..07b0dcefc --- /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 ++ ++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 ++ * ++ */ ++ ++#include ++#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 +- * +- */ +- +-#include +-#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 +- * +- */ +- +-/* +- * 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 + #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 ++ * ++ */ ++ ++/* ++ * 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 593f07087..f58ca2eb2 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20210121.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20210121.bb @@ -30,8 +30,8 @@ CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" 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 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \ 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 @@ EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite " # 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 -- cgit v1.2.3