summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch')
-rw-r--r--meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch133
1 files changed, 133 insertions, 0 deletions
diff --git a/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch b/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch
new file mode 100644
index 0000000000..5ace82dba5
--- /dev/null
+++ b/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
+