diff --git a/acinclude.m4 b/acinclude.m4 index 43280597a409f972ce96e0edc3413d05eeea225d..9ab684877a09010330dff377b5df4ef7b6f3cb58 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 <stdio.h>], [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 0000000000000000000000000000000000000000..3b467a9aca9a4c1968e661889b405201787b567a --- /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. +