* configure.tgt: Remove hppa*64*-*-hpux11* special case.
authorUlrich Weigand <uweigand@de.ibm.com>
Wed, 24 Oct 2007 21:14:17 +0000 (21:14 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Wed, 24 Oct 2007 21:14:17 +0000 (21:14 +0000)
* config/pa/hppa64.mt: Delete file.
* config/pa/hppahpux.mt (MT_CFLAGS): Remove.
(TDEPFILES): Move somread.o to ...
* config/pa/hpux.mh (NATDEPFILES): ... here.

* configure.ac: Add check for elf_hp.h header.
Search libdl and libxpdl for dlgetmodinfo.
* config.in, configure: Regenerate.
* solib-pa64.c: Conditionalize compilation on #ifdef HAVE_ELF_HP_H
instead of #ifndef PA_SOM_ONLY.  Include "solib.h".
(pa64_solib_select): Take gdbarch instead of tdep argument.  Call
set_solib_ops instead of modifying current_target_so_ops.
* solib-pa64.h (pa64_solib_select): Update prototype.
* solib-som.c: Remove include of "som.h".  Include "solib.h".
(som_solib_select): Take gdbarch instead of tdep argument.  Call
set_solib_ops instead of modifying current_target_so_ops.
* solib-som.h (som_solib_select): Update prototype.
* hppa-hpux-tdep.c (hppa_hpux_som_init_abi): Pass gdbarch instead
of tdep to som_solib_select call.
(hppa_hpux_elf_init_abi): Pass gdbarch instead of tdep to
pa64_solib_select call.
* Makefile.in: Update dependencies.

14 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/config.in
gdb/config/pa/hppa64.mt [deleted file]
gdb/config/pa/hppahpux.mt
gdb/config/pa/hpux.mh
gdb/configure
gdb/configure.ac
gdb/configure.tgt
gdb/hppa-hpux-tdep.c
gdb/solib-pa64.c
gdb/solib-pa64.h
gdb/solib-som.c
gdb/solib-som.h

index e1aebb62bbd6a91456097eddbeda95afd7acdc10..e78fc3171de68a9f6214bdd09ef784aabca63959 100644 (file)
@@ -1,3 +1,29 @@
+2007-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * configure.tgt: Remove hppa*64*-*-hpux11* special case.
+       * config/pa/hppa64.mt: Delete file.
+       * config/pa/hppahpux.mt (MT_CFLAGS): Remove.
+       (TDEPFILES): Move somread.o to ...
+       * config/pa/hpux.mh (NATDEPFILES): ... here.
+
+       * configure.ac: Add check for elf_hp.h header.
+       Search libdl and libxpdl for dlgetmodinfo.
+       * config.in, configure: Regenerate.
+       * solib-pa64.c: Conditionalize compilation on #ifdef HAVE_ELF_HP_H
+       instead of #ifndef PA_SOM_ONLY.  Include "solib.h".
+       (pa64_solib_select): Take gdbarch instead of tdep argument.  Call
+       set_solib_ops instead of modifying current_target_so_ops.
+       * solib-pa64.h (pa64_solib_select): Update prototype.
+       * solib-som.c: Remove include of "som.h".  Include "solib.h".
+       (som_solib_select): Take gdbarch instead of tdep argument.  Call
+       set_solib_ops instead of modifying current_target_so_ops.
+       * solib-som.h (som_solib_select): Update prototype.
+       * hppa-hpux-tdep.c (hppa_hpux_som_init_abi): Pass gdbarch instead
+       of tdep to som_solib_select call.
+       (hppa_hpux_elf_init_abi): Pass gdbarch instead of tdep to
+       pa64_solib_select call.
+       * Makefile.in: Update dependencies.
+
 2007-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * frv-tdep.c: Include "solib.h".
index 9b835b8af34db5f95d96b6cedd5bdaf0d9346f23..a2b192b09ac48ab08393324282472bd057d3d6b0 100644 (file)
@@ -2637,10 +2637,10 @@ solib-osf.o: solib-osf.c $(defs_h) $(gdb_string_h) $(bfd_h) $(symtab_h) \
        $(symfile_h) $(objfiles_h) $(target_h) $(inferior_h) $(solist_h)
 solib-pa64.o: solib-pa64.c $(defs_h) $(symtab_h) $(bfd_h) $(symfile_h) \
        $(objfiles_h) $(gdbcore_h) $(target_h) $(inferior_h) $(hppa_tdep_h) \
-       $(solist_h) $(solib_pa64_h)
-solib-som.o: solib-som.c $(defs_h) $(som_h) $(symtab_h) $(bfd_h) \
-       $(symfile_h) $(objfiles_h) $(gdbcore_h) $(target_h) $(inferior_h) \
-       $(hppa_tdep_h) $(solist_h)
+       $(solist_h) $(solib_h) $(solib_pa64_h)
+solib-som.o: solib-som.c $(defs_h) $(symtab_h) $(bfd_h) $(symfile_h) \
+       $(objfiles_h) $(gdbcore_h) $(target_h) $(inferior_h) \
+       $(hppa_tdep_h) $(solist_h) $(solib_h)
 solib-sunos.o: solib-sunos.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) \
        $(symfile_h) $(objfiles_h) $(gdbcore_h) $(inferior_h) $(solist_h) \
        $(bcache_h) $(regcache_h)
index f58b70a6c14564997c2061ac13d1be38b444e8f7..39e00e0422daf527e7e9b887af39c62e5b239b8c 100644 (file)
 /* Define if ELF support should be included. */
 #undef HAVE_ELF
 
+/* Define to 1 if you have the <elf_hp.h> header file. */
+#undef HAVE_ELF_HP_H
+
 /* Define to 1 if your system has the etext variable. */
 #undef HAVE_ETEXT
 
diff --git a/gdb/config/pa/hppa64.mt b/gdb/config/pa/hppa64.mt
deleted file mode 100644 (file)
index 5d2f609..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Target: HP PA-RISC 2.0 running HPUX 11.00 in wide mode
-TDEPFILES= hppa-tdep.o hppa-hpux-tdep.o solib-som.o solib-pa64.o somread.o solib.o
index 46a681689ae9219605d47f7e4a5460a7ad07a3e0..80533858c81cbcde92235321675ad62ef51004e5 100644 (file)
@@ -1,3 +1,2 @@
 # Target: HP PA-RISC running hpux
-MT_CFLAGS = -DPA_SOM_ONLY=1
-TDEPFILES= hppa-tdep.o hppa-hpux-tdep.o corelow.o somread.o solib-som.o solib-pa64.o solib.o
+TDEPFILES= hppa-tdep.o hppa-hpux-tdep.o corelow.o solib-som.o solib-pa64.o solib.o
index f338e9aaaed8b3ca9a3d51684921a2aff4b431e8..7b4fd077303323448c589e6037b531b38ed29362 100644 (file)
@@ -1,3 +1,3 @@
 # Host: PA-RISC HP-UX
 NATDEPFILES= fork-child.o inf-ptrace.o inf-ttrace.o \
-       hppa-hpux-nat.o corelow.o
+       hppa-hpux-nat.o corelow.o somread.o
index 4e16b61d245d3588b6819d68da501361354cf33b..ebd6980edb0138988318e04c9183d3d37d0e652f 100755 (executable)
@@ -5629,6 +5629,134 @@ if test "$ac_cv_search_waddstr" != no; then
 fi
 
 
+# On HP/UX we may need libxpdl for dlgetmodinfo (used by solib-pa64.c).
+echo "$as_me:$LINENO: checking for library containing dlgetmodinfo" >&5
+echo $ECHO_N "checking for library containing dlgetmodinfo... $ECHO_C" >&6
+if test "${ac_cv_search_dlgetmodinfo+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+ac_cv_search_dlgetmodinfo=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlgetmodinfo ();
+int
+main ()
+{
+dlgetmodinfo ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_dlgetmodinfo="none required"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test "$ac_cv_search_dlgetmodinfo" = no; then
+  for ac_lib in dl xpdl; do
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlgetmodinfo ();
+int
+main ()
+{
+dlgetmodinfo ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_dlgetmodinfo="-l$ac_lib"
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+  done
+fi
+LIBS=$ac_func_search_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_search_dlgetmodinfo" >&5
+echo "${ECHO_T}$ac_cv_search_dlgetmodinfo" >&6
+if test "$ac_cv_search_dlgetmodinfo" != no; then
+  test "$ac_cv_search_dlgetmodinfo" = "none required" || LIBS="$ac_cv_search_dlgetmodinfo $LIBS"
+
+fi
+
+
 # Since GDB uses Readline, we need termcap functionality.  In many
 # cases this will be provided by the curses library, but some systems
 # have a seperate termcap library, or no curses library at all.
 done
 
 
+# Check for HP/UX 64-bit shared library support
+
+for ac_header in elf_hp.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
 # FIXME: kettenis/20030102: In most cases we include these
 # unconditionally, so what's the point in checking these?
 
index aa8113453b03b6dc5dfb639bebeb05068118bb8f..491e753687dfaea098bfaa6461c430d7e410cada 100644 (file)
@@ -319,6 +319,9 @@ AC_SEARCH_LIBS(socketpair, socket)
 # a situation.
 AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])
 
+# On HP/UX we may need libxpdl for dlgetmodinfo (used by solib-pa64.c).
+AC_SEARCH_LIBS(dlgetmodinfo, [dl xpdl])
+
 # Since GDB uses Readline, we need termcap functionality.  In many
 # cases this will be provided by the curses library, but some systems
 # have a seperate termcap library, or no curses library at all.
@@ -457,6 +460,9 @@ AC_CHECK_HEADERS(term.h, [], [],
 #endif
 ])
 
+# Check for HP/UX 64-bit shared library support
+AC_CHECK_HEADERS(elf_hp.h)
+
 # FIXME: kettenis/20030102: In most cases we include these
 # unconditionally, so what's the point in checking these?
 AC_CHECK_HEADERS(ctype.h time.h)
index cf5a6e36df9d4b6b0e8de90e7cce651e8d0d0932..f7de98df83067f4ef3a1803de3a88db286d00664 100644 (file)
@@ -101,7 +101,6 @@ frv-*-*)            gdb_target=frv ;;
 
 h8300-*-*)             gdb_target=h8300 ;;
 
-hppa*64*-*-hpux11*)    gdb_target=hppa64 ;;
 hppa*-*-hpux*)         gdb_target=hppahpux ;;
 hppa*-*-linux*)                gdb_target=linux ;;
 hppa*-*-openbsd*)      gdb_target=obsd ;;
index bbbd6438b39777e1f85d491aac428fb5a86e742d..509de352107d22b94f1a26f2f564374f32277c98 100644 (file)
@@ -1496,7 +1496,7 @@ hppa_hpux_som_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->find_global_pointer = hppa32_hpux_find_global_pointer;
 
   hppa_hpux_init_abi (info, gdbarch);
-  som_solib_select (tdep);
+  som_solib_select (gdbarch);
 }
 
 static void
@@ -1508,7 +1508,7 @@ hppa_hpux_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->find_global_pointer = hppa64_hpux_find_global_pointer;
 
   hppa_hpux_init_abi (info, gdbarch);
-  pa64_solib_select (tdep);
+  pa64_solib_select (gdbarch);
 }
 
 static enum gdb_osabi
index 599f3f305f685b207aef250c28c5ce4af8679722..97a105dce733274bf2ddecc96fd15d725f6c3c24 100644 (file)
 
 #include "hppa-tdep.h"
 #include "solist.h"
+#include "solib.h"
 #include "solib-pa64.h"
 
 #undef SOLIB_PA64_DBG
 
-/* If we are building for a SOM-only target, then we don't need this.  */
-#ifndef PA_SOM_ONLY
+/* We can build this file only when running natively on 64-bit HP/UX.
+   We check for that by checking for the elf_hp.h header file.  */
+#ifdef HAVE_ELF_HP_H
 
 /* FIXME: kettenis/20041213: These includes should be eliminated.  */
 #include <dlfcn.h>
@@ -657,9 +659,10 @@ _initialize_pa64_solib (void)
   memset (&dld_cache, 0, sizeof (dld_cache));
 }
 
-void pa64_solib_select (struct gdbarch_tdep *tdep)
+void pa64_solib_select (struct gdbarch *gdbarch)
 {
-  current_target_so_ops = &pa64_so_ops;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  set_solib_ops (gdbarch, &pa64_so_ops);
 
   tdep->solib_thread_start_addr = pa64_solib_thread_start_addr;
   tdep->solib_get_got_by_pc = pa64_solib_get_got_by_pc;
@@ -667,7 +670,7 @@ void pa64_solib_select (struct gdbarch_tdep *tdep)
   tdep->solib_get_text_base = pa64_solib_get_text_base;
 }
 
-#else /* PA_SOM_ONLY */
+#else /* HAVE_ELF_HP_H */
 
 extern initialize_file_ftype _initialize_pa64_solib; /* -Wmissing-prototypes */
 
@@ -676,7 +679,7 @@ _initialize_pa64_solib (void)
 {
 }
 
-void pa64_solib_select (struct gdbarch_tdep *tdep)
+void pa64_solib_select (struct gdbarch *gdbarch)
 {
   /* For a SOM-only target, there is no pa64 solib support.  This is needed
      for hppa-hpux-tdep.c to build.  */
index e8d71251a9e45e99fe0de3ed27b9a8407ff55c8f..94fa5e2d161d19fd184263230e154dc30fcefb0c 100644 (file)
@@ -20,6 +20,6 @@
 #ifndef SOLIB_PA64_H
 #define SOLIB_PA64_H
 
-void pa64_solib_select (struct gdbarch_tdep *tdep);
+void pa64_solib_select (struct gdbarch *gdbarch);
 
 #endif
index 96a25dacaf62c7561689ad22ffff3130cc4aa1dd..2c9b00141b1bd7397904057e37ff66ffa3cfdbfc 100644 (file)
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "som.h"
 #include "symtab.h"
 #include "bfd.h"
 #include "symfile.h"
@@ -29,6 +28,7 @@
 
 #include "hppa-tdep.h"
 #include "solist.h"
+#include "solib.h"
 
 #undef SOLIB_SOM_DBG 
 
@@ -759,9 +759,10 @@ _initialize_som_solib (void)
   som_so_ops.in_dynsym_resolve_code = som_in_dynsym_resolve_code;
 }
 
-void som_solib_select (struct gdbarch_tdep *tdep)
+void som_solib_select (struct gdbarch *gdbarch)
 {
-  current_target_so_ops = &som_so_ops;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  set_solib_ops (gdbarch, &som_so_ops);
 
   tdep->solib_thread_start_addr = som_solib_thread_start_addr;
   tdep->solib_get_got_by_pc = som_solib_get_got_by_pc;
index 40d7f475f27068630693682c731eb19e1b17b1b5..eaaf214e06362be3aac48d8a862f4bc1341e6549 100644 (file)
@@ -22,9 +22,9 @@
 
 struct objfile;
 struct section_offsets;
-struct gdbarch_tdep;
+struct gdbarch;
 
-void som_solib_select (struct gdbarch_tdep *tdep);
+void som_solib_select (struct gdbarch *gdbarch);
 
 int som_solib_section_offsets (struct objfile *objfile,
                               struct section_offsets *offsets);