diff --git a/m4-1.4.13.diff b/m4-1.4.13.diff index 3496057..aced9cf 100644 --- a/m4-1.4.13.diff +++ b/m4-1.4.13.diff @@ -1,25 +1,29 @@ ---- m4/gnulib-comp.m4 +Index: m4/gnulib-comp.m4 +=================================================================== +--- m4/gnulib-comp.m4.orig +++ m4/gnulib-comp.m4 -@@ -143,7 +143,6 @@ AC_DEFUN([M4_INIT], - gl_PATHMAX +@@ -215,7 +215,6 @@ AC_DEFUN([M4_INIT], + gl_SPAWN_MODULE_INDICATOR([posix_spawnp]) gl_FUNC_PRINTF_FREXP gl_FUNC_PRINTF_FREXPL - m4_divert_text([INIT_PREPARE], [gl_printf_safe=yes]) gl_QUOTEARG - AC_REPLACE_FUNCS(raise) - gl_REGEX ---- tests/test-isnanl.h + gl_FUNC_RAWMEMCHR + gl_STRING_MODULE_INDICATOR([rawmemchr]) +Index: tests/test-isnanl.h +=================================================================== +--- tests/test-isnanl.h.orig +++ tests/test-isnanl.h -@@ -60,7 +60,7 @@ main () +@@ -74,7 +74,7 @@ main () /* Quiet NaN. */ - ASSERT (isnanl (0.0L / 0.0L)); + ASSERT (isnanl (NaNl ())); -#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT +#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT && 0 /* A bit pattern that is different from a Quiet NaN. With a bit of luck, it's a Signalling NaN. */ { -@@ -102,6 +102,7 @@ main () +@@ -116,6 +116,7 @@ main () { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; ASSERT (isnanl (x.value)); } @@ -27,7 +31,7 @@ /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: -@@ -135,6 +136,7 @@ main () +@@ -149,6 +150,7 @@ main () ASSERT (isnanl (x.value)); } #endif @@ -35,7 +39,9 @@ return 0; } ---- tests/test-strtod.c +Index: tests/test-strtod.c +=================================================================== +--- tests/test-strtod.c.orig +++ tests/test-strtod.c @@ -673,9 +673,9 @@ main () /* Sign bits of NaN is a portability sticking point, not worth diff --git a/m4.changes b/m4.changes index 8ab53ef..27ad500 100644 --- a/m4.changes +++ b/m4.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Nov 15 10:34:56 CET 2009 - meissner@suse.de + +- refreshed patches with fuzz=0 + ------------------------------------------------------------------- Wed May 20 18:24:57 CEST 2009 - puzel@suse.cz diff --git a/m4.spec b/m4.spec index d9daa0d..d1ee175 100644 --- a/m4.spec +++ b/m4.spec @@ -24,7 +24,7 @@ Provides: base:/usr/bin/m4 AutoReqProv: on PreReq: %{install_info_prereq} Version: 1.4.13 -Release: 1 +Release: 2 Summary: GNU m4 Url: http://www.gnu.org/software/m4/ Source: ftp://ftp.gnu.org/pub/gnu/m4/m4-%{version}.tar.lzma @@ -76,330 +76,3 @@ make install DESTDIR="$RPM_BUILD_ROOT" %{_mandir}/*/* %changelog -* Wed May 20 2009 puzel@suse.cz -- Update to m4 1.4.13 - ** The manual is now distributed under the terms of FDL 1.3. - ** The `divert' and `undivert' builtins have been made more efficient - when using temporary files for large diversions. - ** The `translit' builtin has been made more efficient when the second - argument is short. - ** The input engine has been optimized for faster processing. - ** The command line option `--debugfile', introduced in 1.4.7, now - treats its argument as optional, in order to allow setting the debug - output back to stderr when used without an argument; and order is now - significant with respect to command line files. You must therefore use - `m4 --debugfile=trace file', not `m4 file --debugfile trace'. This - change does not affect the deprecated `-o'/`--error-output' option. - ** The `syscmd' and `esyscmd' builtins can be configured to use an - alternate shell, via the new `configure' option `--with-syscmd-shell'. - ** A number of portability improvements inherited from gnulib. -* Sat Oct 11 2008 schwab@suse.de -- Update to m4 1.4.12. - ** Fix regression introduced in 1.4.4b where using `traceon' could delete - a macro. This was most noticeable with `traceon(`traceon')', but - would also happen in cases such as `foo(traceon(`foo'))'. - ** Fix regression introduced in 1.4.7 where `m4 -N9' died with an assertion - failure. - ** Fix regression introduced in 1.4.11 where `defn' died with an assertion - failure on a traced but undefined macro. - ** New `-g'/`--gnu' command-line option overrides `-G'/`--traditional'. - For now, the environment variable POSIXLY_CORRECT has no effect on M4 - behavior; but a future release of M4 will behave as though --traditional - is implied if POSIXLY_CORRECT is set (this future change is necessary, - because in the current release, there is no way to disable GNU - extensions that conflict with POSIX without the use of a non-POSIX - command-line argument). Clients of M4 that want to use GNU extensions, - even when POSIXLY_CORRECT is set, should start using the -g command-line - argument, even though it is currently a no-op if -G did not appear - earlier in the command line, so that the client will not break in the - face of an upgraded m4 and a POSIXLY_CORRECT execution environment. - ** The `-L'/`--nesting-limit' command-line option now defaults to 0 for - unlimited on platforms that can detect and deal with stack overflow. On - systems that lack alternate stack support, such as Cygwin, and on - systems that do not obey the POSIX semantics for distinguishing stack - overflow from other exceptions, such as Linux, you can optionally - install the libsigsegv library (version 2.6 or newer recommended) to - enhance m4's ability to accurately report stack overflow: - http://www.gnu.org/software/libsigsegv/ - ** A number of portability improvements inherited from gnulib. -* Tue Oct 07 2008 lrupp@suse.de -- disable build check for now -* Wed Oct 01 2008 schwab@suse.de -- Update to head of branch-1.4. -* Mon Jun 23 2008 dmueller@suse.de -- documentation shouldn't be executable -* Thu Apr 03 2008 schwab@suse.de -- Update to m4 1.4.11. - ** Security fixes for the -F option, for bugs present since -F was - introduced in 1.3: Avoid core dump with 'm4 -F file -t undefined', and - avoid arbitrary code execution with certain file names. - ** Fix regression introduced in 1.4.9b in the `divert' builtin when more - than 512 kibibytes are saved in diversions on platforms like NetBSD - or darwin where fopen(name,"a+") seeks to the end of the file. - ** The output of the `maketemp' and `mkstemp' builtins is now quoted if a - file was created. This is a minor security fix, because it was possible - (although rather unlikely) that an unquoted string could match an - existing macro name, such that use of the `mkstemp' output would trigger - inadvertent macro expansion and operate on the wrong file name. - ** Enhance the `defn' builtin to support concatenation of multiple text - arguments, as required by POSIX. However, at this time, it is not - possible to concatenate a builtin macro with anything else; a warning is - now issued if this is attempted, although a future version of M4 may - lift this restriction to match other implementations. - ** Enhance the `format' builtin to parse all C99 floating point numbers, - even on platforms where strtod(3) is buggy, although the replacement - function does have the known issue of rounding errors when parsing - some decimal floating point values. This fixes testsuite failures - introduced in 1.4.9b. - ** Enhance the `index' builtin to guarantee linear behavior, in spite of - the surprisingly large number of systems with a brain-dead quadratic - strstr(3). - ** A number of portability improvements inherited from gnulib. -* Mon Nov 26 2007 schwab@suse.de -- Remove broken tests. -* Tue Jul 10 2007 schwab@suse.de -- Update to m4 1.4.10. - * Upgrade from GPL version 2 to GPL version 3 or later. - * A number of portability improvements inherited from gnulib. - * Avoid undefined behavior introduced in 1.4.9b in the `format' builtin - when handling %%c. However, this area of code has never been documented, - and currently does not match the POSIX behavior of printf(1), so it may - have further changes in the next version. -* Sat Mar 24 2007 schwab@suse.de -- Update to m4 1.4.9. - * Minor documentation and portability cleanups. -* Mon Dec 04 2006 schwab@suse.de -- Update to m4 1.4.8. - * The `divert' macro and `-H'/`--hashsize' command line option no longer - cause a core dump when handed extra large values. Also, `divert' now - uses memory proportional to the number of diversions in use, rather than - to the maximum diversion number encountered, so that large diversion - numbers are less likely to exhaust system memory; and is no longer - limited by the maximum number of file descriptors. - * The `--help' and `--version' command line options now consistently - override all earlier options. For example, `m4 --debugfile=trace - --help' now no longer accidentally creates an empty file `trace'. - * The `-L'/`--nesting-limit' command line option can now be set to 0 - to remove the default limit of 1024. However, it is still possible that - heavily nested input can cause abrupt program termination due to stack - overflow. - * Problems encountered when writing to standard error, such as with the - `errprint' macro, now always cause a non-zero exit status. - * Warnings and errors issued during macro expansion are now consistently - reported at the line where the macro name was detected, rather than - where the close parenthesis resides. Text wrapped by `m4wrap' now - remembers the location that was in effect when m4wrap was invoked, - rather than changing to line 0 and the empty string for a file. The - macros `__line__' and `__file__' now work correctly even as the last - token in an included file. - * The `builtin' and `indir' macros now transparently handle builtin - tokens generated by `defn'. - * When diversions created by the `divert' macro collect enough text that - M4 must use temporary files, the environment variable $TMPDIR is now - consulted, and a better effort is made to clean up those files in the - event of a fatal signal. - * The `mkstemp' builtin is added with the same GNU semantics as `maketemp', - based on the recommendation of POSIX to deprecate the POSIX semantics of - `maketemp' as inherently insecure. In GNU mode (no -G supplied on the - command line), `maketemp' silently retains the secure GNU semantics, but - a future release of M4 will change this to emit a warning. In - traditional mode (m4 -G), `maketemp' now uses the POSIX-mandated insecure - semantics, and issues a warning that you should convert your script to - use `mkstemp' instead. Additionally, `mkstemp' and `maketemp' are now - well-defined even if the template argument does not end in six `X' - characters. - * The manual has been improved, including a new section on a composite - macro `foreach'. - * The `changecom' and `changequote' macros now treat an empty second - argument the same as if it were missing, rather than using the empty - string and making it impossible to end a comment or quote. - * The `translit' macro now operates in linear instead of quadratic time, - and is now eight-bit clean. - * The `-D', `-U', `-s', and `-t' command line options now take effect - after any files encountered earlier on the command line, rather than up - front, as is done in traditional implementations and required by POSIX. -* Mon Sep 25 2006 schwab@suse.de -- Update to m4 1.4.6. - * Fix regression from 1.4.5 in handling a file that ends in a macro - expansion without arguments instead of a newline. - * The define and pushdef macros now warn when the first argument is not - a string, rather than silently doing nothing. - * Standard input can now be read more than once, as in 'm4 - file -', and - is not closed until all wrapped text is handled. This makes a - difference when stdin is not a regular file, and also fixes bugs when - using the syscmd or esyscmd macros from wrapped text. - * When standard input is a seekable file, the m4exit, syscmd, and esyscmd - macros now restore the current position to the next unread byte rather - than discarding an arbitrary amount of buffered data. - * SysV command-line compatibility is no longer a goal of GNU M4; the - focus will be instead on POSIX compatibility. This release continues to - support previous usage, but adds warnings in areas which will allow a - future version of GNU M4 to use its own extensions without being tied to - the SysV command line interface. - * The no-op compatibility command line options -B, -N, -S, -T, and - --diversions may be withdrawn or assigned new meanings in future - releases, so they now issue a warning if used. - * A new command line option -i replaces the compatibility -e as the - short spelling of --interactive, for consistency with other GNU tools; a - warning is issued if the old spelling is used, and it may be assigned new - meaning in future releases. - * A new command line option --debugfile replaces the options -o and - --error-output as the preferred spelling. The old options were - misleading in their names and inconsistent with other GNU tools; they are - still silently accepted, but no longer documented in --help, and may be - assigned new meanings in future releases. -* Sat Aug 26 2006 schwab@suse.de -- Update to m4 1.4.6. - * Fix buffer overruns in regexp and patsubst macros when handed a trailing - backslash in the replacement text, or when handling \n substitutions - beyond the number of \(\) groups. - * Fix memory leak in regexp, patsubst, and changeword macros. - * The format macro now understands %%F, %%g, and %%G. - * When loading frozen files, m4 now exits with status 63 if version - mismatch is detected. - * Fix bugs that occurred when invoked with stdout or stderr closed, - and detect write failures to stdout or to the target of the - debugfile macro. In particular, the syscmd and esyscmd macros can - no longer interfere with the debug stream or diversions. - * The m4exit macro now converts values outside the range 0-255 to 1. - * It is now an error if a command-line input file ends in the middle of a - comment, matching the behavior of mid-string and mid-argument - collection. - * The dnl macro now warns if end of file is encountered instead of a - newline. - * The error message when end of file is encountered now uses the file and - line where the dangling construct started, rather than `NONE:0:'. - * The debugmode and __file__ macros, and the -s/--synclines option, now - show what directory a file was found in when the -I/--include option or - M4PATH variable had an effect. - * The changequote and changecom macros now work with 8-bit characters, and - quotes and comments that begin with `(' are properly recognized - following a word. - * The new macro __program__ is added, which allows the input file to issue - an error message that resembles messages from m4. Warning and error - messages have been reformatted to comply with GNU Coding Standards. - * The errprint, m4wrap, and shift macros are now recognized only with - arguments. - * The index, substr, translit, regexp, and patsubst macros now produce - output when given only one argument, but still warn about a missing - second argument. - * The patsubst macro now reliably finds zero-length matches at the end - of a string. -* Mon Jul 17 2006 schwab@suse.de -- Update to m4 1.4.5. - * Fix sysval on BeOS, OS/2, and other systems that store exit status - in the low-order byte. Additionally, on Unix platforms, if syscmd was - terminated by a signal, sysval now displays the signal number shifted - left by eight bits, to match traditional m4 implementations. - * The maketemp macro is no longer subject to platform limitations (such as - 26 or 32 max files from a given template). - * Frozen files now require that the first directive be V (version), to - better diagnose version mismatch. Additionally, if the F directive - (builtin function) names an unknown builtin that existed in the m4 that - froze the file but not in the current m4 (for example, changeword), the - warning is deferred until an attempt is made to actually use the - builtin. This allows downgrading from beta m4-1.4o to stable m4-1.4.5 - without breaking autoconf. - * The format and indir macros are now recognized only with arguments. - * The eval macro no longer crashes on x86 architectures when dividing the - minimum integer by -1. - * On systems with ecvt and fcvt, format no longer truncates trailing - zeroes on integers printed with %%.0f. On systems without these - functions, format is no longer subject to a buffer overflow that - permitted arbitrary code execution. - * On native Windows builds, the macro __windows__ is provided instead of - __unix__. Likewise, on OS/2 builds, the macro __os2__ is provided. This - allows input files to determine when syscmd might behave differently. - * Fix bug in 1.4.3 patch to use \n line-endings that did not work for - cygwin. - * When given the empty string or 0, undivert is now documented as a no-op - rather than closing stdout, warning about a non-existent file, or trying - to read a directory as a file. - * Many documentation improvements. Also, the manual is now distributed - under FDL 1.2, rather than a stricter verbatim-only license. - * Raise the -L (--nesting-limit) command line option limit from 250 to - 1024. - * The decr, incr, divert, m4exit, and substr macros treat an empty number - as 0, issue a warning, and expand as normal; rather than issuing an error - and expanding to the empty string. - * The eval macro now treats an empty radix argument as 10, handles radix 1, - and treats the width argument as number of digits excluding the sign, - for compatibility with other m4 implementations. - * The ifdef, divert, m4exit, substr, and translit macros now correctly - ignore extra arguments. - * The popdef and undefine macros now correctly accept multiple arguments. - * Although changeword is on its last leg, if enabled, it now reverts to the - default (faster) regexp when passed the empty string. - * The regexp and substr macros now warn and ignore a trailing backslash in - the replacement, and warn on \n for n larger than the number of - sub-expressions in the regexp. - * Fix a recursive push_string crashing bug, which affected changequote of - three or more characters on some compilers. - * Use automake to fix build portability issues. - * Fix a recursive m4wrap crashing bug. - * Fix a 1 in 2**32 hash crashing bug. - * Tracing a macro by name is now persistent, even if the macro is - subsequently undefined or redefined. The traceon and traceoff macros no - longer warn about undefined symbols. This solves a crash when using - indir on an undefined macro traced with the -t option, as well as an - incorrect result of ifdef. Furthermore, tracing is no longer transferred - with builtins, solving the bug of "m4 -tm4_eval" failing to give trace - output on the input "define(`m4_eval',defn(`eval'))m4_eval(1)". - * Fix a crash when a macro is undefined while collecting its arguments, by - always using the definition that was in effect before argument - collection. This behavior matches the C pre-processor, and means that - the sequence "define(`f',`1')f(define(`f',`2'))f" is now documented to - result in "12", rather than the previously undocumented "22". - * Update the regex engine to fix several bugs. - * Fix a potential crash on machines where char is signed. -* Wed Jan 25 2006 mls@suse.de -- converted neededforbuild to BuildRequires -* Fri Oct 21 2005 schwab@suse.de -- Update to m4 1.4.4. -* Tue May 31 2005 schwab@suse.de -- Fix signedness issue when matching comment or quote characters. -* Thu Mar 31 2005 schwab@suse.de -- Update to m4 1.4.3. -* Sun Sep 05 2004 schwab@suse.de -- Speed up parsing by inlining out the common part of next_char(). -* Sat Aug 21 2004 schwab@suse.de -- Update to m4 1.4.2. -* Mon Jun 14 2004 schwab@suse.de -- Update to m4 1.4.1. -* Thu Feb 19 2004 kukuk@suse.de -- Cleanup neededforbuild -* Wed Jan 07 2004 schwab@suse.de -- Fix quoting for autoconf. -- Use newer version of the gettext macros. -* Tue May 13 2003 schwab@suse.de -- Add %%defattr. -- Fix file list. -* Thu Apr 24 2003 ro@suse.de -- fix install_info --delete call and move from preun to postun -* Mon Apr 07 2003 schwab@suse.de -- Only delete info entries when removing last version. -* Thu Feb 06 2003 schwab@suse.de -- Use %%install_info. -* Mon Nov 18 2002 schwab@suse.de -- Remove mangling of LIBOBJS. -- Don't clobber po/Makefile. -- Clean up neededforbuild. -- Use AM_GNU_GETTEXT_VERSION. -- Fix some warnings from automake. -* Sat Mar 30 2002 schwab@suse.de -- Fix for new autoconf. -* Wed Feb 06 2002 schwab@suse.de -- Gettextize to work with new gettext. -* Thu Oct 04 2001 schwab@suse.de -- Fix for automake 1.5. -* Sat Jul 21 2001 schwab@suse.de -- Run autoconf in libltdl. -- Fix libltdl/configure.in for autoconf 2.50+. -* Fri Jun 01 2001 schwab@suse.de -- Fix for new configure tools. -* Thu Mar 22 2001 ro@suse.de -- added split-aliases as provides -* Thu Mar 08 2001 schwab@suse.de -- Don't use regex from libc5. -* Wed Mar 07 2001 schwab@suse.de -- Split from base.