diff options
author | Pavel Raiskup <praiskup@redhat.com> | 2015-09-18 23:17:07 +0200 |
---|---|---|
committer | Pavel Raiskup <praiskup@redhat.com> | 2015-09-24 16:27:22 +0200 |
commit | 351a88feee66eda6ce33eb06acdebb8e9c6d6716 (patch) | |
tree | 9311d6930581425c3e06c869e06ec376b1dd703f /Makefile.am | |
parent | de7b2cb2b72f98329b231ceab2e98f21e8ddaa22 (diff) | |
download | libtool-351a88feee66eda6ce33eb06acdebb8e9c6d6716.tar.gz |
libtoolize: fix infinite recursion in m4
Some projects use this construct in configure.ac:
m4_define([version], m4_include([version]))
pkg_version=version
When the m4_include builtin is undefined (as was done in
libtoolize and extract-trace scripts), the call to this 'version'
macro enters an infinite recursion (until ENOMEM). So rather
re-define all potentially dangerous macros by empty strings,
suggested by Eric Blake.
While we are on it, merge the macro-"blacklist" with similar list
implemented in gettext, except for 'm4_esyscmd'. It's kept
defined because we already trace AC_INIT macro for package
version, while it is often specified by
m4_esyscmd(git-version-gen). Similarly to m4_include, m4_esyscmd
might be opt-in-blacklisted in future.
References:
http://lists.gnu.org/archive/html/libtool/2015-09/msg00000.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764580
* gl/build-aux/extract-trace (_G_mini): Redefine trace-breaking
macros to empty strings rather than undefining those. Use 'dnl'
for comments.
* bootstrap: Likewise, sync with extract-trace.
* NEWS: Document.
* NO-THANKS: Mention Hiroyuki Sato.
Signed-off-by: Pavel Raiskup <praiskup@redhat.com>
Diffstat (limited to 'Makefile.am')
0 files changed, 0 insertions, 0 deletions