Commit Graph

3 Commits

Author SHA1 Message Date
H.J. Lu 520a02b6fa 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.

	PR gas/22318
	* plugins.m4 (AC_PLUGINS): Use dlsym to check if libdl is needed.

From-SVN: r259140
2018-04-05 10:49:39 -07:00
Jan-Benedict Glaw 1d725bb412 Merge the ./config directory between GCC and Binutils
This pulls in the missing Binutils pieces into the ./config
directory. Contains these missing Binutils changes:

2014-08-14  Alan Modra  <amodra@gmail.com>

	* plugins.m4: Test for dlfcn.h or windows.h here to set default
	for --enable-plugins.  Report error if someone tries to enable
	plugins on a host we don't support.

2014-08-19  Alan Modra  <amodra@gmail.com>

	* plugins.m4 (AC_PLUGINS): If plugins are enabled, add -ldl to
	LIBS via AC_SEARCH_LIBS.

For this commit:

2014-11-26  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/plugins.m4: Merge from Binutils.

From-SVN: r218102
2014-11-26 21:53:35 +00:00
Rafael Avila de Espindola ed63087975 (Synchronize with addition made to binutils sources):
* plugins.m4: New.

From-SVN: r147918
2009-05-27 16:31:26 +00:00