Commit dec783dce5a7131e232a06e63a544645b5463dd8

Guillem Jover 2023-02-12T23:55:09

build: Fix version script linker support detection When the linker uses --no-undefined-version either specified by the user or as the default behavior (such as with newer clang >= 16 releases), a missing symbol definition will cause a linker error if that symbol is listed in the version script.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
diff --git a/configure.ac b/configure.ac
index 875ff04..4faddd0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,7 +39,11 @@ AC_CACHE_CHECK([if ld supports --version-script flag],
   save_LDFLAGS=$LDFLAGS
   LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
   AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([], [])
+    AC_LANG_PROGRAM([[
+extern int symbol(void);
+int symbol(void) { return 0; }
+]], [[
+]])
   ], [
     libbsd_cv_version_script=yes
   ], [