2004-11-12 Randolph Chung <tausq@debian.org>
authorRandolph Chung <tausq@debian.org>
Sat, 13 Nov 2004 02:19:03 +0000 (02:19 +0000)
committerRandolph Chung <tausq@debian.org>
Sat, 13 Nov 2004 02:19:03 +0000 (02:19 +0000)
* pa64solib.c (pa64_solib_thread_start_addr): Rename from
so_lib_thread_start_addr.
* pa64solib.h (so_list): Forward declare.
(pa64_solib_thread_start_addr): Prototype.
* somsolib.c (SHL_LOAD, SHL_UNLOAD): Define if not already defined.
(no_shared_libraries): Remove.
(som_solib_thread_start_addr): Rename from so_lib_thread_start_addr.
* somsolib.h (som_solib_thread_start_addr): Likewise; prototype.
* hpread.c (hpread_process_one_debug_symbol): Use either the som or
the elf solib handler to find the start address.

* config/pa/hppahpux.mh (NATDEPFILES): Move target-specific support
files to the target makefile.
* config/pa/hpux1020.mh (NATDEPFILES):  Likewise.
* config/pa/hpux11.mh (NATDEPFILES): Likewise.
* config/pa/hpux11w.mh (NATDEPFILES): Likewise.

* config/pa/hppa64.mt (TDEPFILES): Put target-specific support
    files for symbol reading and shared library handling here.
* config/pa/hppahpux.mt (TDEPFILES): Likewise.
    (PA_SOM_ONLY): Define so we can build a 32-bit SOM only target
    without bringing in 64-bit support.

gdb/ChangeLog
gdb/config/pa/hppa64.mt
gdb/config/pa/hppahpux.mh
gdb/config/pa/hppahpux.mt
gdb/config/pa/hpux1020.mh
gdb/config/pa/hpux11.mh
gdb/config/pa/hpux11w.mh
gdb/hpread.c
gdb/pa64solib.h
gdb/somsolib.c
gdb/somsolib.h

index c9af0e771891b9a5d579a551cad5b7a96b1fc4fe..24523d3b70f319c1753c5505dfa73a2ff61b6073 100644 (file)
@@ -1,3 +1,28 @@
+2004-11-12  Randolph Chung  <tausq@debian.org>
+
+       * pa64solib.c (pa64_solib_thread_start_addr): Rename from 
+       so_lib_thread_start_addr.
+       * pa64solib.h (so_list): Forward declare.
+       (pa64_solib_thread_start_addr): Prototype.
+       * somsolib.c (SHL_LOAD, SHL_UNLOAD): Define if not already defined.
+       (no_shared_libraries): Remove.
+       (som_solib_thread_start_addr): Rename from so_lib_thread_start_addr.
+       * somsolib.h (som_solib_thread_start_addr): Likewise; prototype.
+       * hpread.c (hpread_process_one_debug_symbol): Use either the som or
+       the elf solib handler to find the start address.
+
+       * config/pa/hppahpux.mh (NATDEPFILES): Move target-specific support 
+       files to the target makefile.
+       * config/pa/hpux1020.mh (NATDEPFILES):  Likewise.
+       * config/pa/hpux11.mh (NATDEPFILES): Likewise.
+       * config/pa/hpux11w.mh (NATDEPFILES): Likewise.
+
+       * config/pa/hppa64.mt (TDEPFILES): Put target-specific support 
+    files for symbol reading and shared library handling here.
+       * config/pa/hppahpux.mt (TDEPFILES): Likewise.  
+    (PA_SOM_ONLY): Define so we can build a 32-bit SOM only target 
+    without bringing in 64-bit support.
+
 2004-11-12  Andrew Cagney  <cagney@gnu.org>
 
        * sparc-tdep.c: Replace VALUE_TYPE with value_type.
index f7baa4a6703bfc562d2d54a2286f46eff1c97b8e..c0942b59af6a24b905c0f6082b5017596730e069 100644 (file)
@@ -1,3 +1,3 @@
 # Target: HP PA-RISC 2.0 running HPUX 11.00 in wide mode
-TDEPFILES= hppa-tdep.o hppa-hpux-tdep.o
+TDEPFILES= hppa-tdep.o hppa-hpux-tdep.o pa64solib.o somsolib.o somread.o hpread.o solib.o
 DEPRECATED_TM_FILE= tm-hppa64.h
index b80a085c888b27488272fe7d56a30c932278a29a..f07ddab2e3743ea37eb4e976116fcbc15d188bbf 100644 (file)
@@ -1,6 +1,6 @@
 # Host: Hewlett-Packard PA-RISC machine, running HPUX
 
 NAT_FILE= nm-hppah.h
-NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o somread.o infptrace.o hpread.o somsolib.o
+NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infptrace.o 
 
 HOST_IPC=-DBSD_IPC -DPOSIX_WAIT
index f997d89891bfa820786c1650c22af97d2fe658e8..a3169e26c69d33578dfd79efe819ad23dcdb9aa3 100644 (file)
@@ -1,3 +1,4 @@
 # Target: HP PA-RISC running hpux
-TDEPFILES= hppa-tdep.o hppa-hpux-tdep.o
+MT_CFLAGS = -DPA_SOM_ONLY=1
+TDEPFILES= hppa-tdep.o hppa-hpux-tdep.o somread.o hpread.o somsolib.o solib.o
 DEPRECATED_TM_FILE= tm-hppah.h
index ac2538382704d79b4ef1d9a7f0c14d196917810d..647130eed68a653b6f1f0ef7e9d1355bec90765f 100644 (file)
@@ -7,6 +7,6 @@
 MH_CFLAGS = -Dvfork=fork
 
 NAT_FILE= nm-hppah.h
-NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infptrace.o somread.o hpread.o somsolib.o
+NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infptrace.o
 
 HOST_IPC=-DBSD_IPC -DPOSIX_WAIT
index 1ad2a4e7f96eb4f225badc42c77298ea7267ad8e..d3aeb33b623689e924bff10575a0ba08cfb022e9 100644 (file)
@@ -7,6 +7,6 @@
 MH_CFLAGS = -Dvfork=fork
 
 NAT_FILE= nm-hppah11.h
-NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infttrace.o somread.o hpread.o somsolib.o
+NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infttrace.o
 
 HOST_IPC=-DBSD_IPC -DPOSIX_WAIT
index 51c9f2c9fb7604ca46e4b8952aa45de8eac7ca20..d3aeb33b623689e924bff10575a0ba08cfb022e9 100644 (file)
@@ -7,6 +7,6 @@
 MH_CFLAGS = -Dvfork=fork
 
 NAT_FILE= nm-hppah11.h
-NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infttrace.o hpread.o pa64solib.o solib.o
+NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infttrace.o
 
 HOST_IPC=-DBSD_IPC -DPOSIX_WAIT
index 36aaa07de3f3f44437f181bbdafbb2aa620067c4..a9287c0595151572644301cddcfd038a5bf48c6b 100644 (file)
@@ -5779,8 +5779,14 @@ hpread_process_one_debug_symbol (union dnttentry *dn_bufp, char *name,
               * where to look for this variable, using a call-back
               * to interpret the private shared-library data.
               */
-             SYMBOL_VALUE_ADDRESS (sym) = dn_bufp->dsvar.location +
-               so_lib_thread_start_addr (so);
+             if (bfd_get_flavour(objfile->obfd) == bfd_target_som_flavour)
+               SYMBOL_VALUE_ADDRESS (sym) = dn_bufp->dsvar.location +
+                 som_solib_thread_start_addr (so);
+#ifndef PA_SOM_ONLY
+             else
+               SYMBOL_VALUE_ADDRESS (sym) = dn_bufp->dsvar.location +
+                 pa64_solib_thread_start_addr (so);
+#endif
            }
        }
       break;
index 7a3a068ff8d965f289cc35a1917037f532862215..d8b01bb97964d23a3cdb97bfca0e898a83b8ab62 100644 (file)
@@ -22,6 +22,7 @@
 struct target_ops;
 struct objfile;
 struct section_offsets;
+struct so_list;
 
 /* Called to add symbols from a shared library to gdb's symbol table.  */
 
@@ -147,3 +148,5 @@ extern char *pa64_solib_address (CORE_ADDR);        /* somsolib.c */
 /* If ADDR lies in a shared library, return its name.  */
 
 #define PC_SOLIB(addr) pa64_solib_address (addr)
+
+CORE_ADDR pa64_solib_thread_start_addr (struct so_list *so);
index e70d6bdfef30f0e38f1e036d7de6234baeed3503..41e938e72ea3203e56a631660af84f6b64ff1ff7 100644 (file)
 #define O_BINARY 0
 #endif
 
+#ifndef SHL_LOAD
+#define SHL_LOAD       4
+#endif
+
+#ifndef SHL_UNLOAD
+#define SHL_UNLOAD     8
+#endif
+
 /* Uncomment this to turn on some debugging output.
  */
 
@@ -1557,25 +1565,6 @@ som_solib_restart (void)
 }
 
 
-/* LOCAL FUNCTION
-
-   no_shared_libraries -- handle command to explicitly discard symbols
-   from shared libraries.
-
-   DESCRIPTION
-
-   Implements the command "nosharedlibrary", which discards symbols
-   that have been auto-loaded from shared libraries.  Symbols from
-   shared libraries that were added by explicit request of the user
-   are not discarded.  Also called from remote.c.  */
-
-void
-no_shared_libraries (char *ignored, int from_tty)
-{
-  /* FIXME */
-}
-
-
 void
 _initialize_som_solib (void)
 {
@@ -1621,7 +1610,7 @@ threshold in megabytes.  Is ignored when using `sharedlibrary'.",
 /* Get some HPUX-specific data from a shared lib.
  */
 CORE_ADDR
-so_lib_thread_start_addr (struct so_list *so)
+som_solib_thread_start_addr (struct so_list *so)
 {
   return so->som_solib.tsd_start_addr;
 }
index c241411884307b4f2ad2e9c32b35af9f45555389..952718bda40b3a4245dbecbd9f41ff22b6f0cafc 100644 (file)
@@ -171,7 +171,7 @@ extern char *som_solib_address (CORE_ADDR); /* somsolib.c */
 extern CORE_ADDR som_solib_get_solib_by_pc (CORE_ADDR addr);
 
 struct so_list;
-extern CORE_ADDR so_lib_thread_start_addr (struct so_list *so);
+extern CORE_ADDR som_solib_thread_start_addr (struct so_list *so);
 
 extern void no_shared_libraries (char *ignored, int from_tty);