diff --git a/acinclude.m4 b/acinclude.m4 index 43280597a4..9ab684877a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -71,9 +71,12 @@ AC_DEFUN([TOR_CHECK_LDFLAGS], [ CFLAGS="$CFLAGS -pedantic -Werror" LDFLAGS="$LDFLAGS $2 $1" LIBS="$LIBS $3" - AC_TRY_LINK([], [return 0;], - [AS_VAR_SET(VAR,yes)], - [AS_VAR_SET(VAR,no)]) + AC_RUN_IFELSE([AC_LANG_PROGRAM([#include ], [fputs("", stdout)])], + [AS_VAR_SET(VAR,yes)], + [AS_VAR_SET(VAR,no)], + [AC_TRY_LINK([], [return 0;], + [AS_VAR_SET(VAR,yes)], + [AS_VAR_SET(VAR,no)])]) CFLAGS="$tor_saved_CFLAGS" LDFLAGS="$tor_saved_LDFLAGS" LIBS="$tor_saved_LIBS" diff --git a/changes/bug6173 b/changes/bug6173 new file mode 100644 index 0000000000..3b467a9aca --- /dev/null +++ b/changes/bug6173 @@ -0,0 +1,5 @@ + o Major bugfixes: + - Make our linker option detection code more robust against linkers + where a bad combination of options completes successfully but + makes an unrunnable binary. Fixes bug 6173; bugfix on 0.2.3.17-beta. +