67 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
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
46b5284742 Accepting request 1153939 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1153939
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=40
2024-03-03 19:18:05 +00:00
90602b0885 Accepting request 1149871 from home:pgajdos:m
- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN

OBS-URL: https://build.opensuse.org/request/show/1149871
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=47
2024-03-01 12:10:37 +00:00
c0042219da Accepting request 999884 from Base:System
OBS-URL: https://build.opensuse.org/request/show/999884
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=39
2022-09-01 20:09:22 +00:00
f138d31d05 Accepting request 991865 from home:coolo:branches:Base:System
- Use %make_build macro and make sure we run the profiling run with -j1

OBS-URL: https://build.opensuse.org/request/show/991865
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=45
2022-08-29 08:25:00 +00:00
f33b905370 Accepting request 907492 from Base:System
OBS-URL: https://build.opensuse.org/request/show/907492
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=38
2021-07-25 18:09:15 +00:00
7a657f6c9c Accepting request 907134 from home:Andreas_Schwab:glibc:rebuild
- gnulib-c-stack.patch: c-stack: stop using SIGSTKSZ

OBS-URL: https://build.opensuse.org/request/show/907134
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=44
2021-07-21 11:52:40 +00:00
4eaf577c51 Accepting request 766785 from Base:System
OBS-URL: https://build.opensuse.org/request/show/766785
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=37
2020-02-03 10:10:29 +00:00
42640d1d9a Accepting request 766525 from home:pluskalm:branches:Base:System
- Enable PGO during build

OBS-URL: https://build.opensuse.org/request/show/766525
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=42
2020-01-24 10:02:09 +00:00
800403b1b5 Accepting request 629463 from Base:System
OBS-URL: https://build.opensuse.org/request/show/629463
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=36
2018-08-28 07:19:28 +00:00
3c9d19195c Accepting request 629382 from home:Andreas_Schwab:Factory
Fix typo in changelog

OBS-URL: https://build.opensuse.org/request/show/629382
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=40
2018-08-15 19:20:30 +00:00
6cbc8edd2d Accepting request 626915 from home:Andreas_Schwab:glibc:rebuild
- gnulib-libio.h: adjust gnulib for libio.h removal
- Use %license for COPYING

OBS-URL: https://build.opensuse.org/request/show/626915
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=39
2018-08-02 07:03:08 +00:00
e6d90383d2 Accepting request 535159 from Base:System
- Explicitly remove %{_infodir}/dir before creating package to
  allow builds on RHEL and derived Linux distributions
- Enable configure option --disable-dependency-tracking to
  allow build on Mageia
- Add xz as BuildRequires to unpack source on SLE 11 (forwarded request 535132 from jayvdb)

OBS-URL: https://build.opensuse.org/request/show/535159
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=35
2017-10-28 12:16:48 +00:00
8c18ef0c11 Accepting request 535132 from home:jayvdb:autotools
- Explicitly remove %{_infodir}/dir before creating package to
  allow builds on RHEL and derived Linux distributions
- Enable configure option --disable-dependency-tracking to
  allow build on Mageia
- Add xz as BuildRequires to unpack source on SLE 11

OBS-URL: https://build.opensuse.org/request/show/535132
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=37
2017-10-19 09:03:31 +00:00
59ba07dd30 Accepting request 456819 from Base:System
1

OBS-URL: https://build.opensuse.org/request/show/456819
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=34
2017-03-03 16:38:29 +00:00
87ad255f8d Accepting request 455754 from home:dimstar:Factory
- Fix de-registration of the info files.

- Update info handling from postun to preun

OBS-URL: https://build.opensuse.org/request/show/455754
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=35
2017-02-13 12:54:39 +00:00
3045293718 Accepting request 449083 from Base:System
1

OBS-URL: https://build.opensuse.org/request/show/449083
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=33
2017-01-19 09:34:55 +00:00
8ba7e39f5f Accepting request 448872 from home:pluskalm:branches:Base:System
- Update to version 1.4.18:

OBS-URL: https://build.opensuse.org/request/show/448872
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=33
2017-01-07 14:22:19 +00:00
6b5d342911 Accepting request 338813 from Base:System
1

OBS-URL: https://build.opensuse.org/request/show/338813
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=32
2015-10-19 20:13:46 +00:00
16c6d74b3d Accepting request 336031 from home:pluskalm:branches:Base:System
- Update info handling fro postun to preun

OBS-URL: https://build.opensuse.org/request/show/336031
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=31
2015-10-14 11:17:32 +00:00
49b583463b Accepting request 288885 from Base:System
1

OBS-URL: https://build.opensuse.org/request/show/288885
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=31
2015-03-16 05:51:37 +00:00
cb93fe3d34 Accepting request 288572 from home:pluskalm:branches:Base:System
- Add gpg signature
- Add prerequires for info pages

OBS-URL: https://build.opensuse.org/request/show/288572
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=29
2015-03-04 13:37:34 +00:00
Stephan Kulow
98ce79d82e Accepting request 241739 from Base:System
- Update to version 1.4.17:
  * Fix compilation with newer glibc headers.
  * Fix a failure with diverting large amounts of text on mingw
    (does not affect platforms that can rename an open file).
  * A number of portability improvements inherited from gnulib.
- remove m4-stdio.in.patch, merged by upstream

OBS-URL: https://build.opensuse.org/request/show/241739
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=29
2014-07-25 07:08:46 +00:00
c7560583b0 Accepting request 206828 from home:rudi_m:branches:Base:System
- Update to version 1.4.17:
  * Fix compilation with newer glibc headers.
  * Fix a failure with diverting large amounts of text on mingw
    (does not affect platforms that can rename an open file).
  * A number of portability improvements inherited from gnulib.
- remove m4-stdio.in.patch, merged by upstream

OBS-URL: https://build.opensuse.org/request/show/206828
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=27
2013-11-20 08:48:12 +00:00
Stephan Kulow
0847817a33 Accepting request 182613 from Base:System
- Override broken configure checks (forwarded request 182588 from Andreas_Schwab)

OBS-URL: https://build.opensuse.org/request/show/182613
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=27
2013-07-11 11:30:03 +00:00
f1b425638d Accepting request 182588 from home:Andreas_Schwab:Factory
- Override broken configure checks

OBS-URL: https://build.opensuse.org/request/show/182588
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=25
2013-07-09 09:31:38 +00:00
Ismail Dönmez
a3fdc6f856 Accepting request 128245 from Base:System
Fix build with missing gets declaration (glibc 2.16) (forwarded request 128157 from a_jaeger)

OBS-URL: https://build.opensuse.org/request/show/128245
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=25
2012-07-21 10:30:24 +00:00
49b7fe1d27 Accepting request 128157 from home:a_jaeger:FactoryFix
Fix build with missing gets declaration (glibc 2.16)

OBS-URL: https://build.opensuse.org/request/show/128157
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=23
2012-07-18 16:03:00 +00:00
Stephan Kulow
3671b52f34 Accepting request 123085 from Base:System
- remove useless automake dependency

OBS-URL: https://build.opensuse.org/request/show/123085
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=23
2012-06-01 05:21:15 +00:00
a8a00ffad1 Accepting request 122973 from home:rudi_m:branches:Base:System
- remove useless automake dependency

OBS-URL: https://build.opensuse.org/request/show/122973
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=21
2012-05-31 08:52:25 +00:00
Stephan Kulow
40cdad45a3 Accepting request 94745 from Base:System
add automake to buildrequires (forwarded request 94685 from coolo)

OBS-URL: https://build.opensuse.org/request/show/94745
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=22
2011-12-06 16:59:43 +00:00
Stephan Kulow
36b3e8a712 Accepting request 94685 from home:coolo:removeautomake
add automake to buildrequires

OBS-URL: https://build.opensuse.org/request/show/94685
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=19
2011-12-01 15:53:25 +00:00
Sascha Peilicke
0457c69ff9 Accepting request 84558 from Base:System
Remove _service file

OBS-URL: https://build.opensuse.org/request/show/84558
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=20
2011-09-23 08:35:50 +00:00
Stephan Kulow
fb28934278 - remove fragile _service file
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=16
2011-09-19 15:14:31 +00:00
Sascha Peilicke
08d927a87b Autobuild autoformatter for 63726
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=19
2011-03-09 16:40:00 +00:00
OBS User buildservice-autocommit
8e1cc9f85a Updating link to change in openSUSE:Factory/m4 revision 19.0
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=cf310556a72c858674f70c3c3a4de9c1
2011-03-09 16:40:00 +00:00
Sascha Peilicke
72003589d4 Accepting request 63726 from Base:System
Accepted submit request 63726 from user coolo

OBS-URL: https://build.opensuse.org/request/show/63726
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=18
2011-03-09 16:39:51 +00:00
OBS User _service
3efb3827e9 generated via source service
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=14
2011-03-09 13:33:00 +00:00
Stephan Kulow
7ab62bc4f9 delete
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=13
2011-03-09 13:32:57 +00:00
OBS User _service
b700da6105 generated via source service
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=12
2011-03-09 13:32:40 +00:00
Stephan Kulow
c4249be723 - Update to version 1.4.16:
* Fix regressions in the `index' builtin.  On glibc platforms, this
   avoids false positives from a strstr bug in glibc 2.9 through 2.12;
   on many other platforms, it fixes two separate regressions, a false
   positive introduced in 1.4.11 and a false negative in 1.4.15.
 * A number of portability improvements inherited from gnulib.

OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=11
2011-03-09 13:32:36 +00:00
OBS User autobuild
e8b868793e Accepting request 48515 from Base:System
Copy from Base:System/m4 based on submit request 48515 from user prusnak

OBS-URL: https://build.opensuse.org/request/show/48515
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=16
2010-09-20 13:50:34 +00:00
Pavol Rusnak
0a2cf593e6 Accepting request 48468 from home:vuntz:branches:Base:System
OBS-URL: https://build.opensuse.org/request/show/48468
OBS-URL: https://build.opensuse.org/package/show/Base:System/m4?expand=0&rev=9
2010-09-19 18:10:53 +00:00
OBS User autobuild
f7f1269cce Accepting request 43451 from Base:System
Copy from Base:System/m4 based on submit request 43451 from user coolo

OBS-URL: https://build.opensuse.org/request/show/43451
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=15
2010-07-20 18:50:55 +00:00
OBS User autobuild
bb528972b6 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=12 2010-03-18 15:08:10 +00:00
OBS User autobuild
de193f2dc8 Accepting request 24417 from Base:System
Copy from Base:System/m4 based on submit request 24417 from user msmeissn

OBS-URL: https://build.opensuse.org/request/show/24417
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=11
2009-11-16 13:07:10 +00:00
OBS User unknown
4ef31b0050 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=9 2009-06-12 16:24:13 +00:00
OBS User unknown
4b2be49a6e OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=8 2008-10-13 13:50:51 +00:00
OBS User unknown
c7164d2396 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=7 2008-10-07 13:51:57 +00:00
OBS User unknown
aee7c5b803 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=6 2008-06-23 21:16:55 +00:00
OBS User unknown
bd1839a801 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=5 2008-04-06 04:35:22 +00:00
OBS User unknown
b392cdf415 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=4 2007-11-30 15:13:00 +00:00
OBS User unknown
35c9262cba OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=3 2007-07-10 12:36:26 +00:00
OBS User unknown
b24b887177 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=2 2007-03-24 11:22:06 +00:00
OBS User unknown
7286da4f52 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/m4?expand=0&rev=1 2006-12-18 23:17:02 +00:00
4 changed files with 0 additions and 281 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-----