aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/Makefile.in2
-rw-r--r--gdb/hppa-hpux-tdep.c14
-rw-r--r--gdb/symfile.c22
4 files changed, 25 insertions, 24 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e8f148c..26bcc5d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,16 @@
2004-06-14 Randolph Chung <tausq@debian.org>
+ * Makefile.in (hppa-hpux-tdep.o): Update dependency.
+ * hppa-hpux-tdep.c (hp_cxx_exception_support_initialized): Make
+ static.
+ (hppa_hpux_inferior_created): New function.
+ (hppa_hpux_init_abi): Register observer.
+ * symfile.c (hp_cxx_exception_support_initialized)
+ (RESET_HP_UX_GLOBALS): Remove HPUXHPPA specific hacks.
+ (symbol_file_add_main_1, symbol_file_clear): Likewise.
+
+2004-06-14 Randolph Chung <tausq@debian.org>
+
* MAINTAINERS (Write After Approval): Alphabetize my entry correctly.
2004-06-14 Andrew Cagney <cagney@gnu.org>
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index e707c55..b113c9a 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1864,7 +1864,7 @@ hppah-nat.o: hppah-nat.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \
hppa-hpux-tdep.o: hppa-hpux-tdep.c $(defs_h) $(arch_utils_h) $(gdbcore_h) \
$(osabi_h) $(gdb_string_h) $(frame_h) $(frame_unwind_h) \
$(trad_frame_h) $(symtab_h) $(objfiles_h) $(inferior_h) $(infcall_h) \
- $(hppa_tdep_h)
+ $(observer_h) $(hppa_tdep_h)
hppa-tdep.o: hppa-tdep.c $(defs_h) $(frame_h) $(bfd_h) $(inferior_h) \
$(regcache_h) $(completer_h) $(osabi_h) $(gdb_assert_h) \
$(arch_utils_h) $(symtab_h) $(dis_asm_h) $(trad_frame_h) \
diff --git a/gdb/hppa-hpux-tdep.c b/gdb/hppa-hpux-tdep.c
index 615f45d..8e8765a 100644
--- a/gdb/hppa-hpux-tdep.c
+++ b/gdb/hppa-hpux-tdep.c
@@ -30,6 +30,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "objfiles.h"
#include "inferior.h"
#include "infcall.h"
+#include "observer.h"
#include "hppa-tdep.h"
#include <dl.h>
@@ -533,7 +534,7 @@ __eh_notification;
/* Is exception-handling support available with this executable? */
static int hp_cxx_exception_support = 0;
/* Has the initialize function been run? */
-int hp_cxx_exception_support_initialized = 0;
+static int hp_cxx_exception_support_initialized = 0;
/* Address of __eh_notify_hook */
static CORE_ADDR eh_notify_hook_addr = 0;
/* Address of __d_eh_notify_callback */
@@ -1204,6 +1205,15 @@ hppa_hpux_sigtramp_unwind_sniffer (struct frame_info *next_frame)
}
static void
+hppa_hpux_inferior_created (struct target_ops *objfile, int from_tty)
+{
+ /* Some HP-UX related globals to clear when a new "main"
+ symbol file is loaded. HP-specific. */
+ deprecated_hp_som_som_object_present = 0;
+ hp_cxx_exception_support_initialized = 0;
+}
+
+static void
hppa_hpux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -1220,6 +1230,8 @@ hppa_hpux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_skip_trampoline_code (gdbarch, hppa_hpux_skip_trampoline_code);
frame_unwind_append_sniffer (gdbarch, hppa_hpux_sigtramp_unwind_sniffer);
+
+ observer_attach_inferior_created (hppa_hpux_inferior_created);
}
static void
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 2332037..95d6249 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -60,18 +60,6 @@
#define O_BINARY 0
#endif
-#ifdef HPUXHPPA
-
-/* Some HP-UX related globals to clear when a new "main"
- symbol file is loaded. HP-specific. */
-
-extern int hp_cxx_exception_support_initialized;
-#define RESET_HP_UX_GLOBALS() do {\
- deprecated_hp_som_som_object_present = 0; /* indicates HP-compiled code */ \
- hp_cxx_exception_support_initialized = 0; /* must reinitialize exception stuff */ \
- } while (0)
-#endif
-
int (*deprecated_ui_load_progress_hook) (const char *section, unsigned long num);
void (*deprecated_show_load_progress) (const char *section,
unsigned long section_sent,
@@ -957,10 +945,6 @@ symbol_file_add_main_1 (char *args, int from_tty, int flags)
{
symbol_file_add (args, from_tty, NULL, 1, flags);
-#ifdef HPUXHPPA
- RESET_HP_UX_GLOBALS ();
-#endif
-
/* Getting new symbols may change our opinion about
what is frameless. */
reinit_frame_cache ();
@@ -989,9 +973,6 @@ symbol_file_clear (int from_tty)
symfile_objfile = NULL;
if (from_tty)
printf_unfiltered ("No symbol file now.\n");
-#ifdef HPUXHPPA
- RESET_HP_UX_GLOBALS ();
-#endif
}
static char *
@@ -1944,9 +1925,6 @@ reread_symbols (void)
if (objfile == symfile_objfile)
{
(*objfile->sf->sym_new_init) (objfile);
-#ifdef HPUXHPPA
- RESET_HP_UX_GLOBALS ();
-#endif
}
(*objfile->sf->sym_init) (objfile);