1*c81f5875SBen Grascommit 6632e8ccecd8fe5de18ad78ced1c14755a24b169 2*c81f5875SBen GrasAuthor: Cary Coutant <ccoutant@google.com> 3*c81f5875SBen GrasDate: Fri Nov 22 15:46:51 2013 -0800 4*c81f5875SBen Gras 5*c81f5875SBen Gras Add check for which library is needed for dlopen. 6*c81f5875SBen Gras 7*c81f5875SBen Gras gold/ 8*c81f5875SBen Gras PR gold/16203 9*c81f5875SBen Gras * configure.ac: Add check for which library is needed for 10*c81f5875SBen Gras dlopen. 11*c81f5875SBen Gras * configure: Regenerate. 12*c81f5875SBen Gras 13*c81f5875SBen Grasdiff --git a/gold/configure b/gold/configure 14*c81f5875SBen Grasindex 83f5aa9..24140cf 100755 15*c81f5875SBen Gras--- a/gold/configure 16*c81f5875SBen Gras+++ b/gold/configure 17*c81f5875SBen Gras@@ -7193,13 +7193,71 @@ if test "x$ac_cv_header_dlfcn_h" = x""yes; then : 18*c81f5875SBen Gras cat >>confdefs.h <<_ACEOF 19*c81f5875SBen Gras #define HAVE_DLFCN_H 1 20*c81f5875SBen Gras _ACEOF 21*c81f5875SBen Gras- DLOPEN_LIBS="-ldl" 22*c81f5875SBen Gras-else 23*c81f5875SBen Gras- DLOPEN_LIBS="" 24*c81f5875SBen Gras+ 25*c81f5875SBen Gras fi 26*c81f5875SBen Gras 27*c81f5875SBen Gras done 28*c81f5875SBen Gras 29*c81f5875SBen Gras+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 30*c81f5875SBen Gras+$as_echo_n "checking for library containing dlopen... " >&6; } 31*c81f5875SBen Gras+if test "${ac_cv_search_dlopen+set}" = set; then : 32*c81f5875SBen Gras+ $as_echo_n "(cached) " >&6 33*c81f5875SBen Gras+else 34*c81f5875SBen Gras+ ac_func_search_save_LIBS=$LIBS 35*c81f5875SBen Gras+cat confdefs.h - <<_ACEOF >conftest.$ac_ext 36*c81f5875SBen Gras+/* end confdefs.h. */ 37*c81f5875SBen Gras+ 38*c81f5875SBen Gras+/* Override any GCC internal prototype to avoid an error. 39*c81f5875SBen Gras+ Use char because int might match the return type of a GCC 40*c81f5875SBen Gras+ builtin and then its argument prototype would still apply. */ 41*c81f5875SBen Gras+#ifdef __cplusplus 42*c81f5875SBen Gras+extern "C" 43*c81f5875SBen Gras+#endif 44*c81f5875SBen Gras+char dlopen (); 45*c81f5875SBen Gras+int 46*c81f5875SBen Gras+main () 47*c81f5875SBen Gras+{ 48*c81f5875SBen Gras+return dlopen (); 49*c81f5875SBen Gras+ ; 50*c81f5875SBen Gras+ return 0; 51*c81f5875SBen Gras+} 52*c81f5875SBen Gras+_ACEOF 53*c81f5875SBen Gras+for ac_lib in '' dl dld; do 54*c81f5875SBen Gras+ if test -z "$ac_lib"; then 55*c81f5875SBen Gras+ ac_res="none required" 56*c81f5875SBen Gras+ else 57*c81f5875SBen Gras+ ac_res=-l$ac_lib 58*c81f5875SBen Gras+ LIBS="-l$ac_lib $ac_func_search_save_LIBS" 59*c81f5875SBen Gras+ fi 60*c81f5875SBen Gras+ if ac_fn_cxx_try_link "$LINENO"; then : 61*c81f5875SBen Gras+ ac_cv_search_dlopen=$ac_res 62*c81f5875SBen Gras+fi 63*c81f5875SBen Gras+rm -f core conftest.err conftest.$ac_objext \ 64*c81f5875SBen Gras+ conftest$ac_exeext 65*c81f5875SBen Gras+ if test "${ac_cv_search_dlopen+set}" = set; then : 66*c81f5875SBen Gras+ break 67*c81f5875SBen Gras+fi 68*c81f5875SBen Gras+done 69*c81f5875SBen Gras+if test "${ac_cv_search_dlopen+set}" = set; then : 70*c81f5875SBen Gras+ 71*c81f5875SBen Gras+else 72*c81f5875SBen Gras+ ac_cv_search_dlopen=no 73*c81f5875SBen Gras+fi 74*c81f5875SBen Gras+rm conftest.$ac_ext 75*c81f5875SBen Gras+LIBS=$ac_func_search_save_LIBS 76*c81f5875SBen Gras+fi 77*c81f5875SBen Gras+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 78*c81f5875SBen Gras+$as_echo "$ac_cv_search_dlopen" >&6; } 79*c81f5875SBen Gras+ac_res=$ac_cv_search_dlopen 80*c81f5875SBen Gras+if test "$ac_res" != no; then : 81*c81f5875SBen Gras+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" 82*c81f5875SBen Gras+ 83*c81f5875SBen Gras+fi 84*c81f5875SBen Gras+ 85*c81f5875SBen Gras+case "$ac_cv_search_dlopen" in 86*c81f5875SBen Gras+ no*) DLOPEN_LIBS="";; 87*c81f5875SBen Gras+ *) DLOPEN_LIBS="$ac_cv_search_dlopen";; 88*c81f5875SBen Gras+esac 89*c81f5875SBen Gras 90*c81f5875SBen Gras 91*c81f5875SBen Gras for ac_func in mallinfo posix_fallocate fallocate readv sysconf times 92*c81f5875SBen Grasdiff --git a/gold/configure.ac b/gold/configure.ac 93*c81f5875SBen Grasindex 82ad11e..9bc216b 100644 94*c81f5875SBen Gras--- a/gold/configure.ac 95*c81f5875SBen Gras+++ b/gold/configure.ac 96*c81f5875SBen Gras@@ -528,9 +528,14 @@ AC_CHECK_HEADERS(ext/hash_map ext/hash_set) 97*c81f5875SBen Gras AC_CHECK_HEADERS(byteswap.h) 98*c81f5875SBen Gras 99*c81f5875SBen Gras dnl When plugins enabled dynamic loader interface is required. Check headers 100*c81f5875SBen Gras-dnl which may provide this interface. In case of dlfcn.h add libdl to link. 101*c81f5875SBen Gras+dnl which may provide this interface. Add the necessary library to link. 102*c81f5875SBen Gras AC_CHECK_HEADERS(windows.h) 103*c81f5875SBen Gras-AC_CHECK_HEADERS(dlfcn.h, [DLOPEN_LIBS="-ldl"], [DLOPEN_LIBS=""]) 104*c81f5875SBen Gras+AC_CHECK_HEADERS(dlfcn.h) 105*c81f5875SBen Gras+AC_SEARCH_LIBS(dlopen, [dl dld]) 106*c81f5875SBen Gras+case "$ac_cv_search_dlopen" in 107*c81f5875SBen Gras+ no*) DLOPEN_LIBS="";; 108*c81f5875SBen Gras+ *) DLOPEN_LIBS="$ac_cv_search_dlopen";; 109*c81f5875SBen Gras+esac 110*c81f5875SBen Gras AC_SUBST(DLOPEN_LIBS) 111*c81f5875SBen Gras 112*c81f5875SBen Gras AC_CHECK_FUNCS(mallinfo posix_fallocate fallocate readv sysconf times) 113