branch: development commit f7d11c71dbf23b6a7bc8a273782d3aa3dab08b23 Author: Vincent Lefevre <vinc...@vinc17.net> AuthorDate: Tue Oct 2 20:25:29 2018 +0300
libtool.m4: Avoid a broken AC_TRY_EVAL macro As said in the Autoconf source, the AC_TRY_EVAL macro is dangerous and undocumented, and should not be used. In particular, the one related to nm yields binary data in the config.log file with dash, where "echo \\1" (echo with the argument \1) produces the control character ^A instead of the usual \1 with most shells (POSIX says that the result is implementation-defined). See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910076 This patch attempts to replace this AC_TRY_EVAL occurrence by code with similar behavior, but using $ECHO instead of echo in order to avoid the backslash issue. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=21309 --- m4/libtool.m4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 87ca4672..322ca1fe 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -4129,7 +4129,8 @@ _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist"