aboutsummaryrefslogtreecommitdiff
path: root/gdb/hppa-tdep.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1994-08-19 16:48:51 +0000
committerJeff Law <law@redhat.com>1994-08-19 16:48:51 +0000
commit98c0e047bdd9407ada8b5ba18f89418bb6351614 (patch)
tree5c19e92f9d98edd62f0de6229f6cddcd51f80fb4 /gdb/hppa-tdep.c
parent36d4f4d8516c9293d633ad65dadf8e2f52c7a7b1 (diff)
downloadgdb-98c0e047bdd9407ada8b5ba18f89418bb6351614.zip
gdb-98c0e047bdd9407ada8b5ba18f89418bb6351614.tar.gz
gdb-98c0e047bdd9407ada8b5ba18f89418bb6351614.tar.bz2
* Makefile.in (ALLDEPFILES): Add hpread.c.
(hpread.o): Add dependencies. * somread.c: Do not include "aout/aout64.h". SOM has nothing to do with a.out. (BYTES_IN_WORD): Delete. (som_symfile_read): Call hpread_build_psymtabs to build any minimal symbols based on the HP C native debug symbols. (som_symfile_finish): Call hpread_symfile_finish. (som_symfile_init): Call hpread_symfile_init. * config/pa/tm-hppa.h (HPREAD_ADJUST_STACK_ADDRESS): Define. * hppa-tdep.c (hpread_adjust_stack_address): New function. * config/pa/hppabsd.mh (NATDEPFILES): Add hpread.o * config/pa/hppahpux.mh (NATDEPFILES): Likewise. * hpread.c: New file.
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r--gdb/hppa-tdep.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 270d54e..3ff2b10 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -508,6 +508,27 @@ find_unwind_entry(pc)
return NULL;
}
+/* start-sanitize-hpread */
+/* Return the adjustment necessary to make for addresses on the stack
+ as presented by hpread.c.
+
+ This is necessary because of the stack direction on the PA and the
+ bizarre way in which someone (?) decided they wanted to handle
+ frame pointerless code in GDB. */
+int
+hpread_adjust_stack_address (func_addr)
+ CORE_ADDR func_addr;
+{
+ struct unwind_table_entry *u;
+
+ u = find_unwind_entry (func_addr);
+ if (!u)
+ return 0;
+ else
+ return u->Total_frame_size << 3;
+}
+/* end-sanitize-hpread */
+
/* Called to determine if PC is in an interrupt handler of some
kind. */