diff options
author | Stu Grossman <grossman@cygnus> | 1993-01-15 00:06:50 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1993-01-15 00:06:50 +0000 |
commit | fa9265e55deac681e0664cbea1c4367f81cadc68 (patch) | |
tree | 9ffbeea1837f03eb79e4fbf80ed448b7d7ff91a0 /gdb/tm-hppa.h | |
parent | 30ea4a2d918f78e39ce54619fe08d1f26909e10a (diff) | |
download | gdb-fa9265e55deac681e0664cbea1c4367f81cadc68.zip gdb-fa9265e55deac681e0664cbea1c4367f81cadc68.tar.gz gdb-fa9265e55deac681e0664cbea1c4367f81cadc68.tar.bz2 |
* hppa-pinsn.c (print_insn): Use read_memory_integer, instead of
read_memory to get byte order right.
* hppah-tdep.c (find_unwind_info): Don't read in unwind info
anymore. This is done in paread.c now. We expect unwind info
to hang off of objfiles, and search all of the objfiles when until
we find a match.
* (skip_trampoline_code): Cast arg to target_read_memory.
* objfiles.h (struct objfile): Add new field obj_private to hold
per object file private data (unwind info in this case).
* paread.c (read_unwind_info): New routine to read unwind info
for the objfile. This data is hung off of obj_private.
* tm-hppa.h: Define struct obj_unwind_info, to hold pointers to
the unwind info for this objfile. Also define OBJ_UNWIND_INFO to
make this easier to access.
Diffstat (limited to 'gdb/tm-hppa.h')
-rw-r--r-- | gdb/tm-hppa.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/tm-hppa.h b/gdb/tm-hppa.h index 15be003..957fc15 100644 --- a/gdb/tm-hppa.h +++ b/gdb/tm-hppa.h @@ -574,3 +574,16 @@ struct unwind_table_entry { unsigned int reserved4 : 2; unsigned int Total_frame_size : 27; }; + +/* Info about the unwind table associated with an object file. This is hung + off of the objfile->obj_private pointer, and is allocated in the objfile's + psymbol obstack. This allows us to have unique unwind info for each + executable and shared library that we are debugging. */ + +struct obj_unwind_info { + struct unwind_table_entry *table; /* Pointer to unwind info */ + struct unwind_table_entry *cache; /* Pointer to last entry we found */ + int last; /* Index of last entry */ +}; + +#define OBJ_UNWIND_INFO(obj) ((struct obj_unwind_info *)obj->obj_private) |