This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] fix sim build when configured with --enable-plugins


Hi,
Patch below fix sim builds for some targets when bfd build is
configured with --enable-plugins. In this case libbfd.a (plugin.o) has
dependencies on libdl so it should be included into link commands,
similar as zlib.
Is it OK for trunk?

Patch:

diff --git a/sim/common/acinclude.m4 b/sim/common/acinclude.m4
index fe0a5b7..1d2fd1c 100644
--- a/sim/common/acinclude.m4
+++ b/sim/common/acinclude.m4
@@ -21,6 +21,7 @@
 # Include global overrides and fixes for Autoconf.
 m4_include(../../config/override.m4)
 sinclude([../../config/zlib.m4])
+sinclude([../../config/plugins.m4])
 sinclude([../../config/depstand.m4])

 AC_DEFUN([SIM_AC_COMMON],
@@ -90,6 +91,12 @@ AC_CHECK_LIB(nsl, gethostbyname)
 # using the same condition.
 AM_ZLIB

+# BFD uses libdl when when plugins enabled.
+AC_PLUGINS
+if test "x$plugins" = "xyes"; then
+  LIBS+=" -ldl"
+fi
+
 . ${srcdir}/../../bfd/configure.host

 dnl Standard (and optional) simulator options.

sim/ChangeLog entry:

2012-11-09  Pavel Chupin  <pavel.v.chupin@intel.com>

        Fix sim build when bfd is configured with --enable-plugins
        * arm/configure: Regenerate.
        * avr/configure: Regenerate.
        * bfin/configure: Regenerate.
        * common/acinclude.m4: Add libdl into LIBS.
        * common/configure: Regenerate.
        * cr16/configure: Regenerate.
        * cris/configure: Regenerate.
        * d10v/configure: Regenerate.
        * erc32/configure: Regenerate.
        * frv/configure: Regenerate.
        * h8300/configure: Regenerate.
        * igen/configure: Regenerate.
        * iq2000/configure: Regenerate.
        * lm32/configure: Regenerate.
        * m32c/configure: Regenerate.
        * m32r/configure: Regenerate.
        * m68hc11/configure: Regenerate.
        * mcore/configure: Regenerate.
        * microblaze/configure: Regenerate.
        * mips/configure: Regenerate.
        * mn10300/configure: Regenerate.
        * moxie/configure: Regenerate.
        * ppc/configure: Regenerate.
        * rl78/configure: Regenerate.
        * rx/configure: Regenerate.
        * sh/configure: Regenerate.
        * sh64/configure: Regenerate.
        * testsuite/configure: Regenerate.
        * v850/configure: Regenerate.


Can be reproduced on trunk with (for example):

configure --enable-plugins --target arm-linux-androideabi
make

Error:

gcc -DHAVE_CONFIG_H     -DPROFILE=1 -DWITH_PROFILE=-1
-DDEFAULT_INLINE=0           -DMODET -DNEED_UI_LOOP_HOOK
-DSIM_TARGET_SWITCHES   -I. -I../../../sim/arm -I../common
-I../../../sim/arm/../common -I../../include
-I../../../sim/arm/../../include -I../../bfd
-I../../../sim/arm/../../bfd -I../../opcodes
-I../../../sim/arm/../../opcodes  -g -O2 -static-libstdc++
-static-libgcc  -o run \
  run.o libsim.a ../../bfd/libbfd.a ../../opcodes/libopcodes.a
../../libiberty/libiberty.a -lz -lnsl
../../bfd/libbfd.a(plugin.o): In function `try_load_plugin':
/tmp/gdb/BUILD/bfd/../../bfd/plugin.c:170: undefined reference to `dlopen'
/tmp/gdb/BUILD/bfd/../../bfd/plugin.c:177: undefined reference to `dlsym'
/tmp/gdb/BUILD/bfd/../../bfd/plugin.c:173: undefined reference to `dlerror'

--
Pavel Chupin
Intel Corporation


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]