[RFA/5.3] AiX: enable thread support only if libpthdebug is recent enough

Joel Brobecker brobecker@gnat.com
Thu Nov 28 16:36:00 GMT 2002


> >2002-11-27  J. Brobecker  <brobecker@gnat.com>
> >
> >        * configure.in: Check that the pthdebug library is recent enough
> >        before enable thread support on native AiX.
> >        * configure: Regenerate.
> >
> >        * config/powerpc/aix432.mh (NATDEPFILES): Remove aix-thread.o
> >        from the list of object files as it is now appended by configure
> >        if thread support is enabled.
> >        (NAT_CLIBS): Removed as -lpthdebug is also appended by configure
> >        if thread support is enabled.
>
> Looks `safe' - can only hurts AIX - so yes, ok for both 5.3 and mainline.
> Can you just, while you're at it, update the comment at the start of the 
> containing switch so that it beter reflects current reality.

The patch that I committed to the 5.3 branch is actually slightly
differrent. I just ommitted the comments in the solaris branch of the
case statement, just to play it safe. And I also tested the changes by
reconfiguring on Solaris, and I verifed that the Makefile in gdb was
identical before and after the change.

-- 
Joel
-------------- next part --------------
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gdb/configure.in,v
retrieving revision 1.90.6.1
diff -c -3 -p -r1.90.6.1 configure.in
*** configure.in	26 Nov 2002 01:32:21 -0000	1.90.6.1
--- configure.in	29 Nov 2002 00:23:34 -0000
*************** aix*)
*** 532,543 ****
    ;;
  esac
  
- dnl See if thread_db library is around for Solaris thread debugging.  Note that
- dnl we must explicitly test for version 1 of the library because version 0
- dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
  
! dnl Note that we only want this if we are both native (host == target), and
! dnl not doing a canadian cross build (build == host).
  
  if test ${build} = ${host} -a ${host} = ${target} ; then
     case ${host_os} in
--- 532,543 ----
    ;;
  esac
  
  
! dnl For certain native configurations, we need to check whether thread
! dnl support can be built in or not.
! dnl
! dnl Note that we only want this if we are both native (host == target),
! dnl and not doing a canadian cross build (build == host).
  
  if test ${build} = ${host} -a ${host} = ${target} ; then
     case ${host_os} in
*************** if test ${build} = ${host} -a ${host} = 
*** 594,599 ****
--- 594,615 ----
  	 fi
        else
           AC_MSG_RESULT(no)
+       fi
+       ;;
+    aix*)
+       AC_MSG_CHECKING(for AiX thread debugging library)
+       AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
+                    [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
+                                    [#ifndef PTHDB_VERSION_3
+                                     #error
+                                     #endif],
+                                    gdb_cv_have_aix_thread_debug=yes,
+                                    gdb_cv_have_aix_thread_debug=no)])
+       AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
+       if test $gdb_cv_have_aix_thread_debug = yes; then
+          CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
+          CONFIG_LIB_OBS="${CONFIG_LIB_OBS} aix-thread.o"
+          CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
        fi
        ;;
     esac
Index: config/powerpc/aix432.mh
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/aix432.mh,v
retrieving revision 1.1
diff -c -3 -p -r1.1 aix432.mh
*** config/powerpc/aix432.mh	30 Jul 2002 19:59:06 -0000	1.1
--- config/powerpc/aix432.mh	29 Nov 2002 00:23:34 -0000
***************
*** 3,9 ****
  XM_FILE= xm-aix.h
  
  NAT_FILE= nm-aix.h
! NATDEPFILES= aix-thread.o fork-child.o infptrace.o inftarg.o corelow.o \
  	     rs6000-nat.o xcoffread.o xcoffsolib.o
  
  # When compiled with cc, for debugging, this argument should be passed.
--- 3,9 ----
  XM_FILE= xm-aix.h
  
  NAT_FILE= nm-aix.h
! NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o \
  	     rs6000-nat.o xcoffread.o xcoffsolib.o
  
  # When compiled with cc, for debugging, this argument should be passed.
*************** NATDEPFILES= aix-thread.o fork-child.o i
*** 15,19 ****
  # This switch may be needed for some vendor compilers.
  # MH_LDFLAGS = -Wl,-bbigtoc
  
- # pthread debugging support
- NAT_CLIBS = -lpthdebug
--- 15,17 ----


More information about the Gdb-patches mailing list