diff --git a/0001-Delete-test-execute_sh.patch b/0001-Delete-test-execute_sh.patch new file mode 100644 index 0000000000000000000000000000000000000000..891e3d3fbe4837e15e86f30ddd83d460d588c5f8 --- /dev/null +++ b/0001-Delete-test-execute_sh.patch @@ -0,0 +1,83 @@ +diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 +index fccda9a..1675e54 100644 +--- a/m4/gnulib-comp.m4 ++++ b/m4/gnulib-comp.m4 +@@ -2983,7 +2983,6 @@ AC_DEFUN([M4_FILE_LIST], [ + tests/test-execute-child.c + tests/test-execute-main.c + tests/test-execute-script.c +- tests/test-execute.sh + tests/test-explicit_bzero.c + tests/test-fchdir.c + tests/test-fclose.c +diff --git a/tests/Makefile.in b/tests/Makefile.in +index 64ce81c..ae1bfe3 100644 +--- a/tests/Makefile.in ++++ b/tests/Makefile.in +@@ -126,7 +126,6 @@ TESTS = test-accept$(EXEEXT) test-access$(EXEEXT) \ + test-ctype$(EXEEXT) $(am__EXEEXT_3) test-dirent$(EXEEXT) \ + test-dirname$(EXEEXT) test-dup$(EXEEXT) test-dup2$(EXEEXT) \ + test-dynarray$(EXEEXT) test-environ$(EXEEXT) $(am__EXEEXT_4) \ +- test-errno$(EXEEXT) test-execute.sh \ + test-execute-script$(EXEEXT) test-explicit_bzero$(EXEEXT) \ + test-fchdir$(EXEEXT) test-fclose$(EXEEXT) $(am__EXEEXT_5) \ + test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) \ +@@ -4388,7 +4387,6 @@ EXTRA_DIST = accept.c w32sock.h test-accept.c signature.h macros.h \ + test-dup.c signature.h macros.h test-dup2.c signature.h \ + macros.h test-dynarray.c macros.h test-environ.c \ + test-errno-c++.cc test-errno-c++2.cc test-errno.c \ +- test-execute.sh test-execute-main.c test-execute-child.c \ + test-execute-script.c executable-script executable-script.sh \ + executable-shell-script macros.h explicit_bzero.c \ + test-explicit_bzero.c signature.h macros.h test-fchdir.c \ +@@ -6970,13 +6968,6 @@ test-errno.log: test-errno$(EXEEXT) + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +-test-execute.sh.log: test-execute.sh +- @p='test-execute.sh'; \ +- b='test-execute.sh'; \ +- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ +- --log-file $$b.log --trs-file $$b.trs \ +- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ +- "$$tst" $(AM_TESTS_FD_REDIRECT) + test-execute-script.log: test-execute-script$(EXEEXT) + @p='test-execute-script$(EXEEXT)'; \ + b='test-execute-script'; \ +diff --git a/tests/gnulib.mk b/tests/gnulib.mk +index 2c99ba9..0f8044e 100644 +--- a/tests/gnulib.mk ++++ b/tests/gnulib.mk +@@ -519,7 +519,6 @@ EXTRA_DIST += test-errno.c + + ## begin gnulib module execute-tests + +-TESTS += test-execute.sh + check_PROGRAMS += test-execute-main test-execute-child + test_execute_main_LDADD = $(LDADD) @LIBINTL@ $(LIBTHREAD) + # The test-execute-child program must be a real executable, not a libtool +@@ -531,7 +530,6 @@ TESTS += test-execute-script + check_PROGRAMS += test-execute-script + test_execute_script_LDADD = $(LDADD) @LIBINTL@ $(LIBTHREAD) + test_execute_script_CPPFLAGS = $(AM_CPPFLAGS) -DSRCDIR=\"$(srcdir)/\" +-EXTRA_DIST += test-execute.sh test-execute-main.c test-execute-child.c test-execute-script.c executable-script executable-script.sh executable-shell-script macros.h + + ## end gnulib module execute-tests + +diff --git a/tests/test-execute.sh b/tests/test-execute.sh +deleted file mode 100755 +index 15c8b47..0000000 +--- a/tests/test-execute.sh ++++ /dev/null +@@ -1,8 +0,0 @@ +-#!/bin/sh +- +-st=0 +-for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ; do +- ${CHECKER} ./test-execute-main${EXEEXT} ./test-execute-child${EXEEXT} $i \ +- || { echo test-execute.sh: test case $i failed >&2; st=1; } +-done +-exit $st +-- +1.8.3.1 + diff --git a/backport-gnulib-c-stack.patch b/backport-gnulib-c-stack.patch deleted file mode 100644 index 4b66e6257288763ff5b11d6d5c8d090a8db66529..0000000000000000000000000000000000000000 --- a/backport-gnulib-c-stack.patch +++ /dev/null @@ -1,124 +0,0 @@ -From f9e2b20a12a230efa30f1d479563ae07d276a94b Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Wed, 30 Sep 2020 13:50:36 -0700 -Subject: [PATCH] c-stack: stop using SIGSTKSZ -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It’s been proposed to stop making SIGSTKSZ an integer constant: -https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html -Also, using SIGSTKSZ in #if did not conform to current POSIX. -Also, avoiding SIGSTKSZ makes the code simpler and easier to grok. -* lib/c-stack.c (SIGSTKSZ): Remove. -(alternate_signal_stack): Now a 64 KiB array, for simplicity. -All uses changed. ---- - lib/c-stack.c | 46 +++++++++++++++++----------------------------- - lib/c-stack.h | 2 +- - 2 files changed, 18 insertions(+), 30 deletions(-) - -diff --git a/lib/c-stack.c b/lib/c-stack.c -index 5353c08..7871e9c 100644 ---- a/lib/c-stack.c -+++ b/lib/c-stack.c -@@ -50,15 +50,6 @@ - #if ! HAVE_STACK_T && ! defined stack_t - typedef struct sigaltstack stack_t; - #endif --#ifndef SIGSTKSZ --# define SIGSTKSZ 16384 --#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384 --/* 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 --#endif - - #include - #include -@@ -89,6 +80,16 @@ typedef struct sigaltstack stack_t; - # endif - #endif - -+/* Storage for the alternate signal stack. -+ 64 KiB is not too large for Gnulib-using apps, and is large enough -+ for all known platforms. Smaller sizes may run into trouble. -+ For example, libsigsegv 2.6 through 2.8 have a bug where some -+ architectures use more than the Linux default of an 8 KiB alternate -+ stack when deciding if a fault was caused by stack overflow. */ -+static max_align_t alternate_signal_stack[(64 * 1024 -+ + sizeof (max_align_t) - 1) -+ / sizeof (max_align_t)]; -+ - /* The user-specified action to take when a SEGV-related program error - or stack overflow occurs. */ - static void (* volatile segv_action) (int); -@@ -128,19 +129,6 @@ die (int signo) - #if (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK \ - && HAVE_STACK_OVERFLOW_HANDLING) || HAVE_LIBSIGSEGV - --/* Storage for the alternate signal stack. */ --static union --{ -- char buffer[SIGSTKSZ]; -- -- /* These other members are for proper alignment. There's no -- standard way to guarantee stack alignment, but this seems enough -- in practice. */ -- long double ld; -- long l; -- void *p; --} alternate_signal_stack; -- - static void - null_action (int signo __attribute__ ((unused))) - { -@@ -205,8 +193,8 @@ c_stack_action (void (*action) (int)) - - /* Always install the overflow handler. */ - if (stackoverflow_install_handler (overflow_handler, -- alternate_signal_stack.buffer, -- sizeof alternate_signal_stack.buffer)) -+ alternate_signal_stack, -+ sizeof alternate_signal_stack)) - { - errno = ENOTSUP; - return -1; -@@ -279,14 +267,14 @@ c_stack_action (void (*action) (int)) - stack_t st; - struct sigaction act; - st.ss_flags = 0; -+ st.ss_sp = alternate_signal_stack; -+ st.ss_size = sizeof alternate_signal_stack; - # 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 *); --# else -- st.ss_sp = alternate_signal_stack.buffer; -- st.ss_size = sizeof alternate_signal_stack.buffer; -+ st.ss_size -= sizeof (void *); -+ char *ss_sp = st.ss_sp; -+ st.ss_sp = ss_sp + st.ss_size; - # endif - r = sigaltstack (&st, NULL); - if (r != 0) -diff --git a/lib/c-stack.h b/lib/c-stack.h -index efd3b8f..df8a790 100644 ---- a/lib/c-stack.h -+++ b/lib/c-stack.h -@@ -34,7 +34,7 @@ - A null ACTION acts like an action that does nothing. - - ACTION must be async-signal-safe. ACTION together with its callees -- must not require more than SIGSTKSZ bytes of stack space. Also, -+ must not require more than 64 KiB of stack space. Also, - ACTION should not call longjmp, because this implementation does - not guarantee that it is safe to return to the original stack. - --- -1.8.3.1 - diff --git a/m4-1.4.18-glibc-change-work-around.patch b/m4-1.4.18-glibc-change-work-around.patch deleted file mode 100644 index 582ae9b536c33d3f2d2727b37b1e3a832bc0ef42..0000000000000000000000000000000000000000 --- a/m4-1.4.18-glibc-change-work-around.patch +++ /dev/null @@ -1,115 +0,0 @@ -diff -up m4-1.4.18/lib/fflush.c.orig m4-1.4.18/lib/fflush.c ---- m4-1.4.18/lib/fflush.c.orig 2018-05-02 12:35:59.536851666 +0200 -+++ m4-1.4.18/lib/fflush.c 2018-05-02 12:37:02.768958606 +0200 -@@ -33,7 +33,7 @@ - #undef fflush - - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ - static void -@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) - - #endif - --#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) -+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) - - # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) - if (stream == NULL || ! freading (stream)) - return fflush (stream); - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - clear_ungetc_buffer_preserving_position (stream); - -diff -up m4-1.4.18/lib/fpending.c.orig m4-1.4.18/lib/fpending.c ---- m4-1.4.18/lib/fpending.c.orig 2018-05-02 12:35:32.305806774 +0200 -+++ m4-1.4.18/lib/fpending.c 2018-05-02 12:35:44.944827347 +0200 -@@ -32,7 +32,7 @@ __fpending (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return fp->_IO_write_ptr - fp->_IO_write_base; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -diff -up m4-1.4.18/lib/fpurge.c.orig m4-1.4.18/lib/fpurge.c ---- m4-1.4.18/lib/fpurge.c.orig 2018-05-02 12:38:13.586078669 +0200 -+++ m4-1.4.18/lib/fpurge.c 2018-05-02 12:38:38.785121867 +0200 -@@ -62,7 +62,7 @@ fpurge (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_IO_read_end = fp->_IO_read_ptr; - fp->_IO_write_ptr = fp->_IO_write_base; - /* Avoid memory leak when there is an active ungetc buffer. */ -diff -up m4-1.4.18/lib/freadahead.c.orig m4-1.4.18/lib/freadahead.c ---- m4-1.4.18/lib/freadahead.c.orig 2016-12-31 14:54:41.000000000 +0100 -+++ m4-1.4.18/lib/freadahead.c 2018-05-02 11:43:19.570336724 +0200 -@@ -25,7 +25,7 @@ - size_t - freadahead (FILE *fp) - { --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_write_ptr > fp->_IO_write_base) - return 0; - return (fp->_IO_read_end - fp->_IO_read_ptr) -diff -up m4-1.4.18/lib/freading.c.orig m4-1.4.18/lib/freading.c ---- m4-1.4.18/lib/freading.c.orig 2018-05-02 12:37:33.970011368 +0200 -+++ m4-1.4.18/lib/freading.c 2018-05-02 12:37:59.393054359 +0200 -@@ -31,7 +31,7 @@ freading (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return ((fp->_flags & _IO_NO_WRITES) != 0 - || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 - && fp->_IO_read_base != NULL)); -diff -up m4-1.4.18/lib/fseeko.c.orig m4-1.4.18/lib/fseeko.c ---- m4-1.4.18/lib/fseeko.c.orig 2018-05-02 11:44:17.947460233 +0200 -+++ m4-1.4.18/lib/fseeko.c 2018-05-02 12:39:49.537216897 +0200 -@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when - #endif - - /* These tests are based on fpurge.c. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) -@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when - return -1; - } - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; - fp->_offset = pos; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ -diff -up m4-1.4.18/lib/stdio-impl.h.orig m4-1.4.18/lib/stdio-impl.h ---- m4-1.4.18/lib/stdio-impl.h.orig 2016-12-31 14:54:42.000000000 +0100 -+++ m4-1.4.18/lib/stdio-impl.h 2018-05-02 11:43:19.570336724 +0200 -@@ -18,6 +18,12 @@ - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - -+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this -+ problem by defining it ourselves. FIXME: Do not rely on glibc -+ internals. */ -+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN -+# define _IO_IN_BACKUP 0x100 -+#endif - - /* BSD stdio derived implementations. */ - diff --git a/m4-1.4.18.tar.xz b/m4-1.4.18.tar.xz deleted file mode 100644 index 18f019e4ae931b494c6305e8f214d91601b29ac1..0000000000000000000000000000000000000000 Binary files a/m4-1.4.18.tar.xz and /dev/null differ diff --git a/m4-1.4.19.tar.xz b/m4-1.4.19.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..79a99c48ddd37c88a2ab8280db48128890d3fdc5 Binary files /dev/null and b/m4-1.4.19.tar.xz differ diff --git a/m4.spec b/m4.spec index aa2241d2e5932aa7b357b2653155353cb70d9e48..5a44cf840309e0e7a5a8bce08ec26eaecaa47069 100644 --- a/m4.spec +++ b/m4.spec @@ -1,14 +1,13 @@ Name: m4 -Version: 1.4.18 -Release: 16 +Version: 1.4.19 +Release: 1 Summary: A GNU implementation of macro processor License: GPLv3+ URL: https://www.gnu.org/software/m4/ Source0: https://ftp.gnu.org/gnu/m4/%{name}-%{version}.tar.xz -Patch0: m4-1.4.18-glibc-change-work-around.patch -Patch6000: backport-gnulib-c-stack.patch +Patch1: 0001-Delete-test-execute_sh.patch -BuildRequires: gcc autoconf automake +BuildRequires: gcc autoconf automake gettext-devel Provides: bundled(gnulib) %description @@ -47,6 +46,7 @@ make check %doc README ChangeLog %license COPYING AUTHORS %{_bindir}/m4 +%{_infodir}/../locale/* %files help %defattr(-,root,root) @@ -55,6 +55,12 @@ make check %{_infodir}/m4* %changelog +* Tue Nov 16 2021 liudabo - 1.4.19-1 +- Type:NA +- ID:NA +- SUG:NA +- DESC:update version to 1.4.19 + * Tue Aug 10 2021 shixuantong - 1.4.18-16 - Type:bugfix - ID:NA