From 7f5331423810a41cc31345c64cf7ee9fa55c5948 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Wed, 18 Apr 2012 15:11:59 +0000 Subject: [PATCH] put -lpthread into LIBS instead of CONFIG_LDFLAGS. The problem showed up on AIX when we switched from the system linker to GNU ld. What happens is that configure is adding -lpthdebug to CONFIG_LDFLAGS when AIX thread debugging support is detected. But this causes the "-lpthread" switch to be placed at the _before_ GDB's .o files (see Makefile.in): INTERNAL_LDFLAGS = [...] $(CONFIG_LDFLAGS) [...] gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) rm -f gdb$(EXEEXT) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \ -o gdb$(EXEEXT) gdb.o $(LIBGDB_OBS) \ $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) And as a result of this, the linker reports an error due to some symbols in aix-thread.o not being satisfied. This patch adds the "-lpthread" switch to LIBS instead, which should be the right place to add it. gdb/ChangeLog (Tristan Gingold): * configure.ac (aix): Put -lpthread into libs. * configure: Regenerate. --- gdb/ChangeLog | 5 +++++ gdb/configure | 2 +- gdb/configure.ac | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3fa5738676a..464d412e21a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2012-04-18 Tristan Gingold + + * configure.ac (aix): Put -lpthread into libs. + * configure: Regenerate. + 2012-04-18 Tom Tromey * linespec.c (convert_linespec_to_sals): Don't use diff --git a/gdb/configure b/gdb/configure index bb2d3c0e81e..60652d67eed 100755 --- a/gdb/configure +++ b/gdb/configure @@ -16221,7 +16221,7 @@ $as_echo "$gdb_cv_have_aix_thread_debug" >&6; } if test $gdb_cv_have_aix_thread_debug = yes; then CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c" CONFIG_OBS="${CONFIG_OBS} aix-thread.o" - CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug" + LIBS="$LIBS -lpthdebug" # Older versions of AIX do not provide the declaration for # the getthrds function (it appears that it was introduced diff --git a/gdb/configure.ac b/gdb/configure.ac index de500cc578d..03cd6665167 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -1682,7 +1682,7 @@ if test ${build} = ${host} -a ${host} = ${target} ; then if test $gdb_cv_have_aix_thread_debug = yes; then CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c" CONFIG_OBS="${CONFIG_OBS} aix-thread.o" - CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug" + LIBS="$LIBS -lpthdebug" # Older versions of AIX do not provide the declaration for # the getthrds function (it appears that it was introduced -- 2.30.2