aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--acinclude.m49
-rw-r--r--changes/bug61735
2 files changed, 12 insertions, 2 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 43280597a4..ae14411f6b 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -71,9 +71,14 @@ AC_DEFUN([TOR_CHECK_LDFLAGS], [
CFLAGS="$CFLAGS -pedantic -Werror"
LDFLAGS="$LDFLAGS $2 $1"
LIBS="$LIBS $3"
- AC_TRY_LINK([], [return 0;],
+ AC_RUN_IFELSE([
+#include <stdio.h>
+int main(int argc, char **argv) { fputs("", stdout); return 0; }],
[AS_VAR_SET(VAR,yes)],
- [AS_VAR_SET(VAR,no)])
+ [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.
+