From 7b690361802bdffbfb31d71f19a0b0abd4da9c44 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Sun, 22 Aug 2021 14:50:18 +0200 Subject: diffutils: update 3.7 -> 3.8 Drop patch as issue fixed upstream. (From OE-Core rev: 51ce88191ff3161935b23a4df9805338e4553c5b) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../0001-c-stack-stop-using-SIGSTKSZ.patch | 84 ---------------------- meta/recipes-extended/diffutils/diffutils_3.7.bb | 41 ----------- meta/recipes-extended/diffutils/diffutils_3.8.bb | 42 +++++++++++ 3 files changed, 42 insertions(+), 125 deletions(-) delete mode 100644 meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch delete mode 100644 meta/recipes-extended/diffutils/diffutils_3.7.bb create mode 100644 meta/recipes-extended/diffutils/diffutils_3.8.bb (limited to 'meta/recipes-extended/diffutils') diff --git a/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch b/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch deleted file mode 100644 index 50e627fa30..0000000000 --- a/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 87b3a8f9ceb2cf0a5c8b72e460465fb9ff2d62d9 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 30 Apr 2021 17:40:36 -0700 -Subject: [PATCH] c-stack: stop using SIGSTKSZ - -This patch is required with glibc 2.34+ -based on gnulib [1] - -[1] https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=f9e2b20a12a230efa30f1d479563ae07d276a94b - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - lib/c-stack.c | 22 +++++++++++++--------- - 1 file changed, 13 insertions(+), 9 deletions(-) - -diff --git a/lib/c-stack.c b/lib/c-stack.c -index 9bbe6fe..e0874c9 100644 ---- a/lib/c-stack.c -+++ b/lib/c-stack.c -@@ -51,13 +51,14 @@ - typedef struct sigaltstack stack_t; - #endif - #ifndef SIGSTKSZ --# define SIGSTKSZ 16384 --#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384 -+#define get_sigstksz() (16384) -+#elif HAVE_LIBSIGSEGV - /* libsigsegv 2.6 through 2.8 have a bug where some architectures use - more than the Linux default of an 8k alternate stack when deciding - if a fault was caused by stack overflow. */ --# undef SIGSTKSZ --# define SIGSTKSZ 16384 -+#define get_sigstksz() ((SIGSTKSZ) < 16384 ? 16384 : (SIGSTKSZ)) -+#else -+#define get_sigstksz() ((SIGSTKSZ)) - #endif - - #include -@@ -136,7 +137,8 @@ die (int signo) - /* Storage for the alternate signal stack. */ - static union - { -- char buffer[SIGSTKSZ]; -+ /* allocate buffer with size from get_sigstksz() */ -+ char *buffer; - - /* These other members are for proper alignment. There's no - standard way to guarantee stack alignment, but this seems enough -@@ -208,10 +210,11 @@ c_stack_action (void (*action) (int)) - program_error_message = _("program error"); - stack_overflow_message = _("stack overflow"); - -+ alternate_signal_stack.buffer = malloc(get_sigstksz()); - /* Always install the overflow handler. */ - if (stackoverflow_install_handler (overflow_handler, - alternate_signal_stack.buffer, -- sizeof alternate_signal_stack.buffer)) -+ get_sigstksz())) - { - errno = ENOTSUP; - return -1; -@@ -284,14 +287,15 @@ c_stack_action (void (*action) (int)) - stack_t st; - struct sigaction act; - st.ss_flags = 0; -+ alternate_signal_stack.buffer = malloc(get_sigstksz()); - # if SIGALTSTACK_SS_REVERSED - /* Irix mistakenly treats ss_sp as the upper bound, rather than - lower bound, of the alternate stack. */ -- st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ - sizeof (void *); -- st.ss_size = sizeof alternate_signal_stack.buffer - sizeof (void *); -+ st.ss_sp = alternate_signal_stack.buffer + get_sigstksz() - sizeof (void *); -+ st.ss_size = get_sigstksz() - sizeof (void *); - # else - st.ss_sp = alternate_signal_stack.buffer; -- st.ss_size = sizeof alternate_signal_stack.buffer; -+ st.ss_size = get_sigstksz(); - # endif - r = sigaltstack (&st, NULL); - if (r != 0) --- -2.31.1 - diff --git a/meta/recipes-extended/diffutils/diffutils_3.7.bb b/meta/recipes-extended/diffutils/diffutils_3.7.bb deleted file mode 100644 index 7b4ae160f9..0000000000 --- a/meta/recipes-extended/diffutils/diffutils_3.7.bb +++ /dev/null @@ -1,41 +0,0 @@ -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -require diffutils.inc - -SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \ - file://run-ptest \ - file://0001-Skip-strip-trailing-cr-test-case.patch \ - file://0001-c-stack-stop-using-SIGSTKSZ.patch \ -" - -SRC_URI[md5sum] = "4824adc0e95dbbf11dfbdfaad6a1e461" -SRC_URI[sha256sum] = "b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26" - -EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix" - -# Fix "Argument list too long" error when len(TMPDIR) = 410 -acpaths = "-I ./m4" - -inherit ptest - -RDEPENDS:${PN}-ptest += "make perl" - -do_install_ptest() { - t=${D}${PTEST_PATH} - install -D ${S}/build-aux/test-driver $t/build-aux/test-driver - cp -r ${S}/tests $t/ - install ${B}/tests/Makefile $t/tests/ - sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${HOSTTOOLS_DIR}/::g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ - -e 's|^Makefile:|_Makefile:|' \ - -e 's|bash|sh|' \ - -e 's|^top_srcdir = \(.*\)|top_srcdir = ..\/|' \ - -e 's|^srcdir = \(.*\)|srcdir = .|' \ - -e 's|"`$(built_programs)`"|diff|' \ - -e 's|gawk|awk|g' \ - -i $t/tests/Makefile -} diff --git a/meta/recipes-extended/diffutils/diffutils_3.8.bb b/meta/recipes-extended/diffutils/diffutils_3.8.bb new file mode 100644 index 0000000000..a6522967d4 --- /dev/null +++ b/meta/recipes-extended/diffutils/diffutils_3.8.bb @@ -0,0 +1,42 @@ +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +require diffutils.inc + +SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \ + file://run-ptest \ + file://0001-Skip-strip-trailing-cr-test-case.patch \ + " + +SRC_URI[sha256sum] = "a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec" + +EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix" + +# latest gnulib is no longer able to handle this - I dare not try to fix that maze of abstractions and generators +CFLAGS:mingw32 = " -DSA_RESTART=0" + +# Fix "Argument list too long" error when len(TMPDIR) = 410 +acpaths = "-I ./m4" + +inherit ptest + +RDEPENDS:${PN}-ptest += "make perl" + +do_install_ptest() { + t=${D}${PTEST_PATH} + install -D ${S}/build-aux/test-driver $t/build-aux/test-driver + cp -r ${S}/tests $t/ + install ${B}/tests/Makefile $t/tests/ + sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${HOSTTOOLS_DIR}/::g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ + -e 's|^Makefile:|_Makefile:|' \ + -e 's|bash|sh|' \ + -e 's|^top_srcdir = \(.*\)|top_srcdir = ..\/|' \ + -e 's|^srcdir = \(.*\)|srcdir = .|' \ + -e 's|"`$(built_programs)`"|diff|' \ + -e 's|gawk|awk|g' \ + -i $t/tests/Makefile +} -- cgit v1.2.3-54-g00ecf