mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-30 12:44:10 +08:00
2006-03-01 Randolph Chung <tausq@debian.org>
* hppa-hpux-tdep.c (initialize_hp_cxx_exception_support): Use TDEP->is_elf to determine if we are working with a SOM binary. (null_symtab_and_line): Remove unused variable. * config/pa/hppa64.mt: Use tm-hppa.h. * config/pa/tm-hppa64.h: Remove file.
This commit is contained in:
parent
848359aced
commit
477e69e8fd
@ -1,3 +1,11 @@
|
||||
2006-03-01 Randolph Chung <tausq@debian.org>
|
||||
|
||||
* hppa-hpux-tdep.c (initialize_hp_cxx_exception_support): Use
|
||||
TDEP->is_elf to determine if we are working with a SOM binary.
|
||||
(null_symtab_and_line): Remove unused variable.
|
||||
* config/pa/hppa64.mt: Use tm-hppa.h.
|
||||
* config/pa/tm-hppa64.h: Remove file.
|
||||
|
||||
2006-03-01 Wu Zhou <woodzltc@cn.ibm.com>
|
||||
|
||||
* f-typeprint.c (f_type_print_base): Delete the redundant space.
|
||||
|
@ -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 solib-som.o solib-pa64.o somread.o hpread.o solib.o
|
||||
DEPRECATED_TM_FILE= tm-hppa64.h
|
||||
DEPRECATED_TM_FILE= tm-hppa.h
|
||||
|
@ -1,58 +0,0 @@
|
||||
/* Parameters for execution on any Hewlett-Packard PA-RISC machine.
|
||||
Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1995, 1999, 2000
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Contributed by the Center for Software Science at the
|
||||
University of Utah (pa-gdb-bugs@cs.utah.edu).
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* PA 64-bit specific definitions. Override those which are in
|
||||
tm-hppa.h */
|
||||
|
||||
struct frame_info;
|
||||
|
||||
/* jimb: this must go. I'm just using it to disable code I haven't
|
||||
gotten working yet. */
|
||||
#define GDB_TARGET_IS_HPPA_20W
|
||||
|
||||
/* NOTE: cagney/2003-07-27: Using CC='cc +DA2.0W -Ae' configure
|
||||
hppa64-hp-hpux11.00; GDB managed to build / start / break main /
|
||||
run with multi-arch enabled. Not sure about much else as there
|
||||
appears to be an unrelated problem in the SOM symbol table reader
|
||||
causing GDB to lose line number information. Since prior to this
|
||||
switch and a other recent tweaks, 64 bit PA hadn't been building
|
||||
for some months, this is probably the lesser of several evils. */
|
||||
|
||||
#include "pa/tm-hppah.h"
|
||||
|
||||
#undef FP4_REGNUM
|
||||
#define FP4_REGNUM 68
|
||||
#define AP_REGNUM 29 /* Argument Pointer Register */
|
||||
#define DP_REGNUM 27
|
||||
#define FP5_REGNUM 70
|
||||
#define SR5_REGNUM 48
|
||||
|
||||
|
||||
/* jimb: omitted dynamic linking stuff here */
|
||||
|
||||
#undef FUNC_LDIL_OFFSET
|
||||
#undef FUNC_LDO_OFFSET
|
||||
#undef SR4EXPORT_LDIL_OFFSET
|
||||
#undef SR4EXPORT_LDO_OFFSET
|
||||
|
||||
/* jimb: omitted purify call support */
|
@ -844,52 +844,54 @@ GDB will be unable to intercept exception events."),
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef GDB_TARGET_IS_HPPA_20W
|
||||
/* Check whether the executable is dynamically linked or archive bound */
|
||||
/* With an archive-bound executable we can use the raw addresses we find
|
||||
for the callback function, etc. without modification. For an executable
|
||||
with shared libraries, we have to do more work to find the plabel, which
|
||||
can be the target of a call through $$dyncall from the aCC runtime support
|
||||
library (libCsup) which is linked shared by default by aCC. */
|
||||
/* This test below was copied from somsolib.c/somread.c. It may not be a very
|
||||
reliable one to test that an executable is linked shared. pai/1997-07-18 */
|
||||
shlib_info = bfd_get_section_by_name (symfile_objfile->obfd, "$SHLIB_INFO$");
|
||||
if (shlib_info && (bfd_section_size (symfile_objfile->obfd, shlib_info) != 0))
|
||||
if (!gdbarch_tdep (current_gdbarch)->is_elf)
|
||||
{
|
||||
/* The minsym we have has the local code address, but that's not
|
||||
the plabel that can be used by an inter-load-module call. */
|
||||
/* Find solib handle for main image (which has end.o), and use
|
||||
that and the min sym as arguments to __d_shl_get() (which
|
||||
does the equivalent of shl_findsym()) to find the plabel. */
|
||||
/* Check whether the executable is dynamically linked or archive bound */
|
||||
/* With an archive-bound executable we can use the raw addresses we find
|
||||
for the callback function, etc. without modification. For an executable
|
||||
with shared libraries, we have to do more work to find the plabel, which
|
||||
can be the target of a call through $$dyncall from the aCC runtime
|
||||
support library (libCsup) which is linked shared by default by aCC. */
|
||||
/* This test below was copied from somsolib.c/somread.c. It may not be a very
|
||||
reliable one to test that an executable is linked shared.
|
||||
pai/1997-07-18 */
|
||||
shlib_info = bfd_get_section_by_name (symfile_objfile->obfd, "$SHLIB_INFO$");
|
||||
if (shlib_info && (bfd_section_size (symfile_objfile->obfd, shlib_info) != 0))
|
||||
{
|
||||
/* The minsym we have has the local code address, but that's not
|
||||
the plabel that can be used by an inter-load-module call. */
|
||||
/* Find solib handle for main image (which has end.o), and use
|
||||
that and the min sym as arguments to __d_shl_get() (which
|
||||
does the equivalent of shl_findsym()) to find the plabel. */
|
||||
|
||||
args_for_find_stub args;
|
||||
static char message[] = "Error while finding exception callback hook:\n";
|
||||
args_for_find_stub args;
|
||||
static char message[] = _("Error while finding exception callback hook:\n");
|
||||
|
||||
args.solib_handle = gdbarch_tdep (current_gdbarch)->solib_get_solib_by_pc (eh_notify_callback_addr);
|
||||
args.msym = msym;
|
||||
args.return_val = 0;
|
||||
args.solib_handle = gdbarch_tdep (current_gdbarch)->solib_get_solib_by_pc (eh_notify_callback_addr);
|
||||
args.msym = msym;
|
||||
args.return_val = 0;
|
||||
|
||||
recurse++;
|
||||
catch_errors (cover_find_stub_with_shl_get, &args, message,
|
||||
RETURN_MASK_ALL);
|
||||
eh_notify_callback_addr = args.return_val;
|
||||
recurse--;
|
||||
recurse++;
|
||||
catch_errors (cover_find_stub_with_shl_get, &args, message,
|
||||
RETURN_MASK_ALL);
|
||||
eh_notify_callback_addr = args.return_val;
|
||||
recurse--;
|
||||
|
||||
deprecated_exception_catchpoints_are_fragile = 1;
|
||||
deprecated_exception_catchpoints_are_fragile = 1;
|
||||
|
||||
if (!eh_notify_callback_addr)
|
||||
{
|
||||
/* We can get here either if there is no plabel in the export list
|
||||
for the main image, or if something strange happened (?) */
|
||||
warning (_("\
|
||||
if (!eh_notify_callback_addr)
|
||||
{
|
||||
/* We can get here either if there is no plabel in the export list
|
||||
for the main image, or if something strange happened (?) */
|
||||
warning (_("\
|
||||
Couldn't find a plabel (indirect function label) for the exception callback.\n\
|
||||
GDB will not be able to intercept exception events."));
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
deprecated_exception_catchpoints_are_fragile = 0;
|
||||
}
|
||||
else
|
||||
deprecated_exception_catchpoints_are_fragile = 0;
|
||||
#endif
|
||||
|
||||
/* Now, look for the breakpointable routine in end.o */
|
||||
/* This should also be available in the SOM symbol dict. if end.o linked in */
|
||||
@ -1063,9 +1065,6 @@ Interception of exception events may not work."));
|
||||
|
||||
/* Record some information about the current exception event */
|
||||
static struct exception_event_record current_ex_event;
|
||||
/* Convenience struct */
|
||||
static struct symtab_and_line null_symtab_and_line =
|
||||
{NULL, 0, 0, 0};
|
||||
|
||||
/* Report current exception event. Returns a pointer to a record
|
||||
that describes the kind of the event, where it was thrown from,
|
||||
|
Loading…
Reference in New Issue
Block a user