* gnulib: Update to latest. * m4/gnulib-cache.m4: Regenerate. * docs/m4.texinfo (Index macro): Expose strstr bug. * NEWS: Mention fixes.
Signed-off-by: Eric Blake <ebl...@redhat.com> --- Most gnulib fixes only affect systems outside the GNU/Linux domain, but the gnulib fixes for strstr() in glibc, and for libsigsegv 2.8 being broken on Linux PowerPC64, are mainstream enough to warrant a new m4 release in the near future. ChangeLog | 6 ++++++ NEWS | 8 +++++++- doc/m4.texinfo | 11 +++++++++++ gnulib | 2 +- m4/gnulib-cache.m4 | 4 ++-- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 97f5f06..30c7821 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-10-21 Eric Blake <ebl...@redhat.com> + build: work around glibc and libsigsegv bugs + * gnulib: Update to latest. + * m4/gnulib-cache.m4: Regenerate. + * docs/m4.texinfo (Index macro): Expose strstr bug. + * NEWS: Mention fixes. + docs: mention more history * doc/m4.texinfo (History): Add upcoming 1.4.16 release. diff --git a/NEWS b/NEWS index b713552..7cb962d 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,12 @@ GNU M4 NEWS - User visible changes. -* Noteworthy changes in release ?.? (????-??-??) [?] +* Noteworthy changes in release 1.4.16 (2010-??-??) [?] + +** Ensure the `index' builtin cannot give false positive results. On + glibc platforms, this avoids a strstr bug in glibc 2.9 through 2.12; + on many other platforms, it fixes a regression introduced in 1.4.11. + +** A number of portability improvements inherited from gnulib. * Noteworthy changes in release 1.4.15 (2010-08-31) [stable] diff --git a/doc/m4.texinfo b/doc/m4.texinfo index b66adbe..5ea6ff9 100644 --- a/doc/m4.texinfo +++ b/doc/m4.texinfo @@ -5642,6 +5642,17 @@ Index macro @result{}1 @end example +...@ignore +...@comment Expose a bug in the strstr() algorithm present in glibc +...@comment 2.9 through 2.12 and in gnulib up to Sep 2010. + +...@example +index(`;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-', +`:12-:12-:12-:12-:12-:12-:12-:12-') +...@result{}-1 +...@end example +...@end ignore + @node Regexp @section Searching for regular expressions diff --git a/gnulib b/gnulib index c0ebdfe..b86f488 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit c0ebdfe226c38c72db7c1944113fd19ff534e362 +Subproject commit b86f488e783121f54dbd44e17741fa3b29e9be9b diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4 index 103bc16..ba783c3 100644 --- a/m4/gnulib-cache.m4 +++ b/m4/gnulib-cache.m4 @@ -10,8 +10,8 @@ # # This file represents the specification of how gnulib-tool is used. # It acts as a cache: It is written and read by gnulib-tool. -# In projects using CVS, this file is meant to be stored in CVS, -# like the configure.ac and various Makefile.am files. +# In projects that use version control, this file is meant to be put under +# version control, like the configure.ac and various Makefile.am files. # Specification in the form of a command-line invocation: -- 1.7.2.3 _______________________________________________ M4-patches mailing list M4-patches@gnu.org http://lists.gnu.org/mailman/listinfo/m4-patches