aboutsummaryrefslogtreecommitdiff
path: root/gdb/config
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1994-01-28 16:25:25 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1994-01-28 16:25:25 +0000
commit9fdb3f7aad80699becae8d400d181a2b924fb0a5 (patch)
tree9e88ae9cbfb39d1fd0af4392525a3ac8fe309bac /gdb/config
parent0b233d31dfe5919025acff17491ea0ee70491cdc (diff)
downloadgdb-9fdb3f7aad80699becae8d400d181a2b924fb0a5.zip
gdb-9fdb3f7aad80699becae8d400d181a2b924fb0a5.tar.gz
gdb-9fdb3f7aad80699becae8d400d181a2b924fb0a5.tar.bz2
* config/pa/tm-hppa.h: Define macro SMASH_TEXT_ADDRESS.
* elfread.c (record_minimal_symbol_and_info), dwarfread.c (process_dies), paread.c (pa_symtab_read): Use it.
Diffstat (limited to 'gdb/config')
-rw-r--r--gdb/config/pa/tm-hppa.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/gdb/config/pa/tm-hppa.h b/gdb/config/pa/tm-hppa.h
index f2afcc1..4d970ea 100644
--- a/gdb/config/pa/tm-hppa.h
+++ b/gdb/config/pa/tm-hppa.h
@@ -404,11 +404,14 @@ CORE_ADDR hppa_fix_call_dummy();
#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \
sp = hppa_push_arguments(nargs, args, sp, struct_return, struct_addr)
-
-/* Symbol files have two symbol tables. Rather than do this right,
- like the ELF symbol reading code, massive hackery was added
- to dbxread.c and partial-stab.h. This flag turns on that
- hackery, which should all go away FIXME FIXME FIXME FIXME now. */
+
+/* The low two bits of the PC on the PA contain the privilege level. Some
+ genius implementing a (non-GCC) compiler apparently decided this means
+ that "addresses" in a text section therefore include a privilege level,
+ and thus symbol tables should contain these bits. This seems like a
+ bonehead thing to do--anyway, it seems to work for our purposes to just
+ ignore those bits. */
+#define SMASH_TEXT_ADDRESS(addr) ((addr) &= ~0x3)
#define GDB_TARGET_IS_HPPA