SHA256
6
0
forked from pool/m4

14 Commits

Author SHA256 Message Date
a72fbb2e42 Accepting request 1279279 from Base:System
- Skip all stack overflow tests in qemu linux-user emulation (forwarded request 1278367 from Andreas_Schwab)

OBS-URL: https://build.opensuse.org/request/show/1279279
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=47
2025-05-26 16:31:52 +00:00
09cb054042 - Skip all stack overflow tests in qemu linux-user emulation
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=61
2025-05-22 13:07:19 +00:00
fc5a0a0a34 Accepting request 1277401 from Base:System
drop -std=gnu17 from CFLAGS as 1.4.20 supports C23 (forwarded request 1277391 from hsk17)

OBS-URL: https://build.opensuse.org/request/show/1277401
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=46
2025-05-15 14:59:12 +00:00
e93921811b drop -std=gnu17 from CFLAGS as 1.4.20 supports C23
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=59
2025-05-14 11:15:43 +00:00
1842082a57 Accepting request 1276749 from Base:System
- Update to 1.4.20
 * Fix a bug in the `eval' builtin where it does not suppress warnings
   about division by zero that occurs within a more complex expression on
   the right hand side of || or &&
 * The `syscmd' and `esyscmd' builtins no longer mishandle a command line
   starting with `-' or `+'
 * Fix regression introduced in 1.4.19 where trace output (such as with
   `debugmode(t)') could read invalid memory when tracing a series of
   pushed macros that are popped during argument collection.
 * Fix regression introduced in 1.4.19 where the `format' builtin
   inadvertently took on locale-dependent parsing and output of floating
   point numbers as a side-effect of introducing message translations.
 * Fix regression introduced in 1.4.11 where the experimental `changeword'
   builtin could cause a crash if given a regex that does not match all
   one-byte prefixes of valid longer matches.  As a reminder, `changeword'
   is not recommended for production use, and will likely not be present
   in the next major version release.
** Update to comply with newer C standards, and inherit portability
   improvements from gnulib.
- Update to 1.4.19
** A number of portability improvements inherited from gnulib, including
   the ability to perform stack overflow detection on more platforms
   without linking to GNU libsigsegv.
** The symbol hash table now defaults to 65537 buckets instead of 509, as
   modern systems have enough memory to benefit from fewer hash collisions
   by default.
** Introduce the use of gettext, with the immediate benefit of nicer
   UTF-8 author names.
- Disable profilied built as it lead to segmentation faults in the
  test suite (test-free).
- Drop gnulib-libio.patch as a similar change is part of upstream.
- Drop gnulib-c-stack.patch as patched code got removed upstream. (forwarded request 1276652 from mathletic)

OBS-URL: https://build.opensuse.org/request/show/1276749
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=45
2025-05-13 18:05:24 +00:00
ba1ba5e441 - Update to 1.4.20
* Fix a bug in the `eval' builtin where it does not suppress warnings
   about division by zero that occurs within a more complex expression on
   the right hand side of || or &&
 * The `syscmd' and `esyscmd' builtins no longer mishandle a command line
   starting with `-' or `+'
 * Fix regression introduced in 1.4.19 where trace output (such as with
   `debugmode(t)') could read invalid memory when tracing a series of
   pushed macros that are popped during argument collection.
 * Fix regression introduced in 1.4.19 where the `format' builtin
   inadvertently took on locale-dependent parsing and output of floating
   point numbers as a side-effect of introducing message translations.
 * Fix regression introduced in 1.4.11 where the experimental `changeword'
   builtin could cause a crash if given a regex that does not match all
   one-byte prefixes of valid longer matches.  As a reminder, `changeword'
   is not recommended for production use, and will likely not be present
   in the next major version release.
** Update to comply with newer C standards, and inherit portability
   improvements from gnulib.
- Update to 1.4.19
** A number of portability improvements inherited from gnulib, including
   the ability to perform stack overflow detection on more platforms
   without linking to GNU libsigsegv.
** The symbol hash table now defaults to 65537 buckets instead of 509, as
   modern systems have enough memory to benefit from fewer hash collisions
   by default.
** Introduce the use of gettext, with the immediate benefit of nicer
   UTF-8 author names.
- Disable profilied built as it lead to segmentation faults in the
  test suite (test-free).
- Drop gnulib-libio.patch as a similar change is part of upstream.
- Drop gnulib-c-stack.patch as patched code got removed upstream.

OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=57
2025-05-12 07:22:22 +00:00
0d7ada46c3 Accepting request 1268350 from Base:System
in %check,  CFLAGS -std=gnu17 needed as well (forwarded request 1268224 from hsk17)

OBS-URL: https://build.opensuse.org/request/show/1268350
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=44
2025-04-11 14:43:54 +00:00
560dddf812 in %check, CFLAGS -std=gnu17 needed as well
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=55
2025-04-10 09:26:59 +00:00
c7e7330c19 Accepting request 1266775 from Base:System
add -std=gnu17 to CFLAGS to fix gcc15 compile time error (forwarded request 1266626 from hsk17)

OBS-URL: https://build.opensuse.org/request/show/1266775
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=43
2025-04-04 15:28:24 +00:00
68aa7eecfc add -std=gnu17 to CFLAGS to fix gcc15 compile time error
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=53
2025-04-03 07:10:08 +00:00
0546611d0c Accepting request 1265245 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1265245
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=42
2025-03-31 09:37:09 +00:00
57eee1cbd7 Skip PGO with %want_reproducible_builds (boo#1040589)
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=51
2025-03-28 16:25:01 +00:00
dc4797f7af Accepting request 1227584 from Base:System
- fix build for loongarch64 (forwarded request 1227514 from adrianSuSE)

OBS-URL: https://build.opensuse.org/request/show/1227584
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=41
2024-12-02 15:57:54 +00:00
ad0f0e7ab2 - fix build for loongarch64
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=49
2024-12-01 09:30:17 +00:00
8 changed files with 97 additions and 289 deletions

View File

@@ -1,122 +0,0 @@
From f9e2b20a12a230efa30f1d479563ae07d276a94b Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
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
Its 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.
---
ChangeLog | 9 +++++++++
lib/c-stack.c | 42 ++++++++++++++++++------------------------
lib/c-stack.h | 2 +-
3 files changed, 28 insertions(+), 25 deletions(-)
Index: m4-1.4.18/lib/c-stack.c
===================================================================
--- m4-1.4.18.orig/lib/c-stack.c
+++ m4-1.4.18/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 <stdlib.h>
#include <string.h>
@@ -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)
Index: m4-1.4.18/lib/c-stack.h
===================================================================
--- m4-1.4.18.orig/lib/c-stack.h
+++ m4-1.4.18/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.

View File

@@ -1,145 +0,0 @@
2018-03-05 Paul Eggert <eggert@cs.ucla.edu>
fflush: adjust to glibc 2.28 libio.h removal
Problem reported by Daniel P. Berrangé in:
https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
* lib/fbufmode.c (fbufmode):
* lib/fflush.c (clear_ungetc_buffer_preserving_position)
(disable_seek_optimization, rpl_fflush):
* lib/fpending.c (__fpending):
* lib/fpurge.c (fpurge):
* lib/freadable.c (freadable):
* lib/freadahead.c (freadahead):
* lib/freading.c (freading):
* lib/freadptr.c (freadptr):
* lib/freadseek.c (freadptrinc):
* lib/fseeko.c (fseeko):
* lib/fseterr.c (fseterr):
* lib/fwritable.c (fwritable):
* lib/fwriting.c (fwriting):
Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
Define if not already defined.
Index: m4-1.4.18/lib/fflush.c
===================================================================
--- m4-1.4.18.orig/lib/fflush.c
+++ m4-1.4.18/lib/fflush.c
@@ -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);
Index: m4-1.4.18/lib/fpending.c
===================================================================
--- m4-1.4.18.orig/lib/fpending.c
+++ m4-1.4.18/lib/fpending.c
@@ -32,7 +32,7 @@ __fpending (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, 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 */
Index: m4-1.4.18/lib/fpurge.c
===================================================================
--- m4-1.4.18.orig/lib/fpurge.c
+++ m4-1.4.18/lib/fpurge.c
@@ -62,7 +62,7 @@ fpurge (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, 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. */
Index: m4-1.4.18/lib/freadahead.c
===================================================================
--- m4-1.4.18.orig/lib/freadahead.c
+++ m4-1.4.18/lib/freadahead.c
@@ -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)
Index: m4-1.4.18/lib/freading.c
===================================================================
--- m4-1.4.18.orig/lib/freading.c
+++ m4-1.4.18/lib/freading.c
@@ -31,7 +31,7 @@ freading (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, 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));
Index: m4-1.4.18/lib/fseeko.c
===================================================================
--- m4-1.4.18.orig/lib/fseeko.c
+++ m4-1.4.18/lib/fseeko.c
@@ -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__
Index: m4-1.4.18/lib/stdio-impl.h
===================================================================
--- m4-1.4.18.orig/lib/stdio-impl.h
+++ m4-1.4.18/lib/stdio-impl.h
@@ -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. */

BIN
m4-1.4.18.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Comment: Public key at http://people.redhat.com/eblake/eblake.gpg
iQEcBAABCAAGBQJYaDOKAAoJEKeha0olJ0NqT5oH/jyPC2chKyoCSrBAAmMT/0ac
xbDOiymNbaj6twhoZNunE8m8OzySfBQxANFf0yepZ0dCPf8/SzCWt9eHs12xzTrs
htcrsXBJ0woVdSG1SVaCzeOna8dvQ5fRJUHdWqTCa8sJdEBNk/zh2i72wGzMtpLo
Ord+dXOplvRe+LTUyu7eMAQfccPb5PnL4sh6WgmvQpjUiP4y2BlpbcI7hU1OOPNz
Gq63o3sO8OkwB2LP//M3fyi6Y4CHa7V6mfYz0PDboks1UruNYclbwVuJ8tLMYae+
YlRMuMCs1hssICNcMyhtks8jdbXlMm7E8Nhk2+Uc6eRnA97zZQ0ADthNjA47/TA=
=TQTI
-----END PGP SIGNATURE-----

3
m4-1.4.20.tar.xz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e236ea3a1ccf5f6c270b1c4bb60726f371fa49459a8eaaebc90b216b328daf2b
size 2044756

11
m4-1.4.20.tar.xz.sig Normal file
View File

@@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEccLMIrHEYCkn0vOqp6FrSiUnQ2oFAmgfklUACgkQp6FrSiUn
Q2pW2Af/aKgxUEJhpp53Wi5bYQ2wucfpXTHH3tCoSfmUNb2cu4QfGMuA9q08LlyF
XnXb8Yp9Zqq/ct65OlqRxchWLNNvhVViZQuZiiB1nl8aJrlumoiaSYv/vV5XCDfK
QRZ/jysaqN81Hn4QmyASsugk8tYy4SrWqIQYVgPWHnZ0MhfGFT5odzAWcT/i/Xlf
arf4YwUNQYVS9VZ7djHbbJuAYnve43iKT/6lU7IKxDSEjY/6nOL1/5PQR3TlGylO
l3m2SPbYch5u7HNZPCmX4vt8538CqE51j69oCMCvfm0B9s44N3BAzGlQRw8HUbwB
1Ise9ZHA9DKW52+pw03tq05wShW0IQ==
=Q7iM
-----END PGP SIGNATURE-----

View File

@@ -1,3 +1,69 @@
-------------------------------------------------------------------
Mon May 19 08:33:20 UTC 2025 - Andreas Schwab <schwab@suse.de>
- Skip all stack overflow tests in qemu linux-user emulation
-------------------------------------------------------------------
Wed May 14 10:43:08 UTC 2025 - Friedrich Haubensak <hsk17@mail.de>
- Drop -std=gnu17 from CFLAGS as 1.4.20 supports C23
-------------------------------------------------------------------
Sat May 10 20:00:23 UTC 2025 - Christoph G <foss@grueninger.de>
- Update to 1.4.20
* Fix a bug in the `eval' builtin where it does not suppress warnings
about division by zero that occurs within a more complex expression on
the right hand side of || or &&
* The `syscmd' and `esyscmd' builtins no longer mishandle a command line
starting with `-' or `+'
* Fix regression introduced in 1.4.19 where trace output (such as with
`debugmode(t)') could read invalid memory when tracing a series of
pushed macros that are popped during argument collection.
* Fix regression introduced in 1.4.19 where the `format' builtin
inadvertently took on locale-dependent parsing and output of floating
point numbers as a side-effect of introducing message translations.
* Fix regression introduced in 1.4.11 where the experimental `changeword'
builtin could cause a crash if given a regex that does not match all
one-byte prefixes of valid longer matches. As a reminder, `changeword'
is not recommended for production use, and will likely not be present
in the next major version release.
** Update to comply with newer C standards, and inherit portability
improvements from gnulib.
- Update to 1.4.19
** A number of portability improvements inherited from gnulib, including
the ability to perform stack overflow detection on more platforms
without linking to GNU libsigsegv.
** The symbol hash table now defaults to 65537 buckets instead of 509, as
modern systems have enough memory to benefit from fewer hash collisions
by default.
** Introduce the use of gettext, with the immediate benefit of nicer
UTF-8 author names.
- Disable profilied built as it lead to segmentation faults in the
test suite (test-free).
- Drop gnulib-libio.patch as a similar change is part of upstream.
- Drop gnulib-c-stack.patch as patched code got removed upstream.
-------------------------------------------------------------------
Wed Apr 9 18:38:42 UTC 2025 - Friedrich Haubensak <hsk17@mail.de>
- add -std=gnu17 to CFLAGS in %check also
-------------------------------------------------------------------
Mon Mar 31 16:12:21 UTC 2025 - Friedrich Haubensak <hsk17@mail.de>
- add -std=gnu17 to CFLAGS to fix gcc15 compile time error
-------------------------------------------------------------------
Wed Mar 19 15:28:26 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
- Skip PGO with %want_reproducible_builds (boo#1040589)
-------------------------------------------------------------------
Sat Nov 30 13:02:16 UTC 2024 - Adrian Schröter <adrian@suse.de>
- fix build for loongarch64
-------------------------------------------------------------------
Fri Feb 23 11:47:05 UTC 2024 - pgajdos@suse.com

25
m4.spec
View File

@@ -1,7 +1,7 @@
#
# spec file for package m4
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: m4
Version: 1.4.18
Version: 1.4.20
Release: 0
Summary: GNU m4
License: GPL-3.0-or-later
@@ -26,11 +26,9 @@ URL: https://www.gnu.org/software/m4/
Source0: https://ftp.gnu.org/pub/gnu/m4/%{name}-%{version}.tar.xz
Source1: https://ftp.gnu.org/pub/gnu/m4/%{name}-%{version}.tar.xz.sig
Source2: https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=m4&download=1#/%{name}.keyring
Patch1: gnulib-libio.patch
Patch2: gnulib-c-stack.patch
BuildRequires: xz
Requires(post): %{install_info_prereq}
Requires(preun):%{install_info_prereq}
Requires(preun): %{install_info_prereq}
Provides: base:%{_bindir}/m4
%description
@@ -38,6 +36,9 @@ GNU m4 is an implementation of the traditional Unix macro processor.
%prep
%autosetup -p1
%ifarch loongarch64
cp -a /usr/lib/rpm/config.{sub,guess} build-aux/
%endif
%build
%configure \
@@ -48,18 +49,25 @@ GNU m4 is an implementation of the traditional Unix macro processor.
gl_cv_func_isnanl_works=yes \
gl_cv_func_printf_directive_n=yes \
gl_cv_func_printf_infinite_long_double=yes
%if %{do_profiling}
%if %{do_profiling} && !0%{?want_reproducible_builds} && 0
%make_build CFLAGS="%{optflags} %{cflags_profile_generate}"
# run profiling check sequentially to have it reproducible
%make_build -j1 check CFLAGS="%{optflags} %{cflags_profile_generate}"
%make_build clean
%make_build CFLAGS="%{optflags} %{cflags_profile_feedback}"
%else
%make_build
%make_build CFLAGS="%{optflags}"
%endif
%check
%make_build check
%if 0%{?qemu_user_space_build}
# Stack overflow tests are not supported by qemu linux-user emulation
echo exit 77 > checks/stackovf.test
echo exit 77 > tests/test-c-stack.sh
echo 'int main () { return 77; }' > tests/test-sigsegv-catch-stackoverflow1.c
echo 'int main () { return 77; }' > tests/test-sigsegv-catch-stackoverflow2.c
%endif
%make_build check CFLAGS="%{optflags}"
%install
%make_install
@@ -80,5 +88,6 @@ rm -rf %{buildroot}%{_infodir}/dir
%{_infodir}/m4.info-2%{ext_info}
%{_infodir}/m4.info%{?ext_info}
%{_mandir}/man1/m4.1%{?ext_man}
%{_prefix}/share/locale/*/LC_MESSAGES/m4.mo
%changelog