Use dlsym to check if libdl is needed for plugin
config/plugins.m4 has if test "$plugins" = "yes"; then AC_SEARCH_LIBS([dlopen], [dl]) fi Plugin uses dlsym, but libasan.so only intercepts dlopen, not dlsym: [hjl@gnu-tools-1 binutils-text]$ nm -D /lib64/libasan.so.4| grep " dl" 0000000000038580 W dlclose U dl_iterate_phdr 000000000004dc50 W dlopen U dlsym U dlvsym [hjl@gnu-tools-1 binutils-text]$ Testing dlopen for libdl leads to false negative when -fsanitize=address is used. It results in link failure: ../bfd/.libs/libbfd.a(plugin.o): undefined reference to symbol 'dlsym@@GLIBC_2.16' dlsym should be used to check if libdl is needed for plugin. bfd/ PR gas/22318 * configure: Regenerated. binutils/ PR gas/22318 * configure: Regenerated. gas/ PR gas/22318 * configure: Regenerated. gprof/ PR gas/22318 * configure: Regenerated. ld/ PR gas/22318 * configure: Regenerated.
This commit is contained in:
parent
552d4da417
commit
3cba8b6c93
|
@ -1,3 +1,8 @@
|
||||||
|
2018-04-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR gas/22318
|
||||||
|
* configure: Regenerated.
|
||||||
|
|
||||||
2018-04-05 Alan Modra <amodra@gmail.com>
|
2018-04-05 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL.
|
* elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL.
|
||||||
|
|
|
@ -11828,9 +11828,9 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$plugins" = "yes"; then
|
if test "$plugins" = "yes"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
|
||||||
$as_echo_n "checking for library containing dlopen... " >&6; }
|
$as_echo_n "checking for library containing dlsym... " >&6; }
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
ac_func_search_save_LIBS=$LIBS
|
ac_func_search_save_LIBS=$LIBS
|
||||||
|
@ -11843,11 +11843,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
#endif
|
#endif
|
||||||
char dlopen ();
|
char dlsym ();
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
return dlopen ();
|
return dlsym ();
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -11860,25 +11860,25 @@ for ac_lib in '' dl; do
|
||||||
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
||||||
fi
|
fi
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
ac_cv_search_dlopen=$ac_res
|
ac_cv_search_dlsym=$ac_res
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext
|
conftest$ac_exeext
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
|
|
||||||
else
|
else
|
||||||
ac_cv_search_dlopen=no
|
ac_cv_search_dlsym=no
|
||||||
fi
|
fi
|
||||||
rm conftest.$ac_ext
|
rm conftest.$ac_ext
|
||||||
LIBS=$ac_func_search_save_LIBS
|
LIBS=$ac_func_search_save_LIBS
|
||||||
fi
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
|
||||||
$as_echo "$ac_cv_search_dlopen" >&6; }
|
$as_echo "$ac_cv_search_dlsym" >&6; }
|
||||||
ac_res=$ac_cv_search_dlopen
|
ac_res=$ac_cv_search_dlsym
|
||||||
if test "$ac_res" != no; then :
|
if test "$ac_res" != no; then :
|
||||||
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2018-04-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR gas/22318
|
||||||
|
* configure: Regenerated.
|
||||||
|
|
||||||
2018-04-05 Maciej W. Rozycki <macro@mips.com>
|
2018-04-05 Maciej W. Rozycki <macro@mips.com>
|
||||||
|
|
||||||
* testsuite/binutils-all/strip-13mips64.s: Use `.dc.l' rather
|
* testsuite/binutils-all/strip-13mips64.s: Use `.dc.l' rather
|
||||||
|
|
|
@ -11622,9 +11622,9 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$plugins" = "yes"; then
|
if test "$plugins" = "yes"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
|
||||||
$as_echo_n "checking for library containing dlopen... " >&6; }
|
$as_echo_n "checking for library containing dlsym... " >&6; }
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
ac_func_search_save_LIBS=$LIBS
|
ac_func_search_save_LIBS=$LIBS
|
||||||
|
@ -11637,11 +11637,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
#endif
|
#endif
|
||||||
char dlopen ();
|
char dlsym ();
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
return dlopen ();
|
return dlsym ();
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -11654,25 +11654,25 @@ for ac_lib in '' dl; do
|
||||||
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
||||||
fi
|
fi
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
ac_cv_search_dlopen=$ac_res
|
ac_cv_search_dlsym=$ac_res
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext
|
conftest$ac_exeext
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
|
|
||||||
else
|
else
|
||||||
ac_cv_search_dlopen=no
|
ac_cv_search_dlsym=no
|
||||||
fi
|
fi
|
||||||
rm conftest.$ac_ext
|
rm conftest.$ac_ext
|
||||||
LIBS=$ac_func_search_save_LIBS
|
LIBS=$ac_func_search_save_LIBS
|
||||||
fi
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
|
||||||
$as_echo "$ac_cv_search_dlopen" >&6; }
|
$as_echo "$ac_cv_search_dlsym" >&6; }
|
||||||
ac_res=$ac_cv_search_dlopen
|
ac_res=$ac_cv_search_dlsym
|
||||||
if test "$ac_res" != no; then :
|
if test "$ac_res" != no; then :
|
||||||
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2018-04-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR gas/22318
|
||||||
|
* configure: Regenerated.
|
||||||
|
|
||||||
2018-04-04 H.J. Lu <hongjiu.lu@intel.com>
|
2018-04-04 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR binutils/23025
|
PR binutils/23025
|
||||||
|
|
|
@ -11383,9 +11383,9 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$plugins" = "yes"; then
|
if test "$plugins" = "yes"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
|
||||||
$as_echo_n "checking for library containing dlopen... " >&6; }
|
$as_echo_n "checking for library containing dlsym... " >&6; }
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
ac_func_search_save_LIBS=$LIBS
|
ac_func_search_save_LIBS=$LIBS
|
||||||
|
@ -11398,11 +11398,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
#endif
|
#endif
|
||||||
char dlopen ();
|
char dlsym ();
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
return dlopen ();
|
return dlsym ();
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -11415,25 +11415,25 @@ for ac_lib in '' dl; do
|
||||||
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
||||||
fi
|
fi
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
ac_cv_search_dlopen=$ac_res
|
ac_cv_search_dlsym=$ac_res
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext
|
conftest$ac_exeext
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
|
|
||||||
else
|
else
|
||||||
ac_cv_search_dlopen=no
|
ac_cv_search_dlsym=no
|
||||||
fi
|
fi
|
||||||
rm conftest.$ac_ext
|
rm conftest.$ac_ext
|
||||||
LIBS=$ac_func_search_save_LIBS
|
LIBS=$ac_func_search_save_LIBS
|
||||||
fi
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
|
||||||
$as_echo "$ac_cv_search_dlopen" >&6; }
|
$as_echo "$ac_cv_search_dlsym" >&6; }
|
||||||
ac_res=$ac_cv_search_dlopen
|
ac_res=$ac_cv_search_dlsym
|
||||||
if test "$ac_res" != no; then :
|
if test "$ac_res" != no; then :
|
||||||
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2018-04-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR gas/22318
|
||||||
|
* configure: Regenerated.
|
||||||
|
|
||||||
2018-03-01 Alan Modra <amodra@gmail.com>
|
2018-03-01 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* configure.ac (ALL_LINGUAS): Add it, ro, ru, uk. Sort.
|
* configure.ac (ALL_LINGUAS): Add it, ro, ru, uk. Sort.
|
||||||
|
|
|
@ -11298,9 +11298,9 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$plugins" = "yes"; then
|
if test "$plugins" = "yes"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
|
||||||
$as_echo_n "checking for library containing dlopen... " >&6; }
|
$as_echo_n "checking for library containing dlsym... " >&6; }
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
ac_func_search_save_LIBS=$LIBS
|
ac_func_search_save_LIBS=$LIBS
|
||||||
|
@ -11313,11 +11313,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
#endif
|
#endif
|
||||||
char dlopen ();
|
char dlsym ();
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
return dlopen ();
|
return dlsym ();
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -11330,25 +11330,25 @@ for ac_lib in '' dl; do
|
||||||
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
||||||
fi
|
fi
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
ac_cv_search_dlopen=$ac_res
|
ac_cv_search_dlsym=$ac_res
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext
|
conftest$ac_exeext
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
|
|
||||||
else
|
else
|
||||||
ac_cv_search_dlopen=no
|
ac_cv_search_dlsym=no
|
||||||
fi
|
fi
|
||||||
rm conftest.$ac_ext
|
rm conftest.$ac_ext
|
||||||
LIBS=$ac_func_search_save_LIBS
|
LIBS=$ac_func_search_save_LIBS
|
||||||
fi
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
|
||||||
$as_echo "$ac_cv_search_dlopen" >&6; }
|
$as_echo "$ac_cv_search_dlsym" >&6; }
|
||||||
ac_res=$ac_cv_search_dlopen
|
ac_res=$ac_cv_search_dlsym
|
||||||
if test "$ac_res" != no; then :
|
if test "$ac_res" != no; then :
|
||||||
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2018-04-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR gas/22318
|
||||||
|
* configure: Regenerated.
|
||||||
|
|
||||||
2018-04-05 Nick Clifton <nickc@redhat.com>
|
2018-04-05 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
PR 23030
|
PR 23030
|
||||||
|
|
|
@ -15139,9 +15139,9 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$plugins" = "yes"; then
|
if test "$plugins" = "yes"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
|
||||||
$as_echo_n "checking for library containing dlopen... " >&6; }
|
$as_echo_n "checking for library containing dlsym... " >&6; }
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
ac_func_search_save_LIBS=$LIBS
|
ac_func_search_save_LIBS=$LIBS
|
||||||
|
@ -15154,11 +15154,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
#endif
|
#endif
|
||||||
char dlopen ();
|
char dlsym ();
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
return dlopen ();
|
return dlsym ();
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -15171,25 +15171,25 @@ for ac_lib in '' dl; do
|
||||||
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
||||||
fi
|
fi
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
ac_cv_search_dlopen=$ac_res
|
ac_cv_search_dlsym=$ac_res
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext
|
conftest$ac_exeext
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if test "${ac_cv_search_dlopen+set}" = set; then :
|
if test "${ac_cv_search_dlsym+set}" = set; then :
|
||||||
|
|
||||||
else
|
else
|
||||||
ac_cv_search_dlopen=no
|
ac_cv_search_dlsym=no
|
||||||
fi
|
fi
|
||||||
rm conftest.$ac_ext
|
rm conftest.$ac_ext
|
||||||
LIBS=$ac_func_search_save_LIBS
|
LIBS=$ac_func_search_save_LIBS
|
||||||
fi
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
|
||||||
$as_echo "$ac_cv_search_dlopen" >&6; }
|
$as_echo "$ac_cv_search_dlsym" >&6; }
|
||||||
ac_res=$ac_cv_search_dlopen
|
ac_res=$ac_cv_search_dlsym
|
||||||
if test "$ac_res" != no; then :
|
if test "$ac_res" != no; then :
|
||||||
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue