diff options
author | Jim Blandy <jimb@codesourcery.com> | 2003-06-13 21:56:27 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2003-06-13 21:56:27 +0000 |
commit | 4c0122c8affb3323f1d4734edbeece0175b89690 (patch) | |
tree | eda024256551e9eddacec49a38c942a1fff194a7 | |
parent | 3e210248bd30a25cad7598cf3acd95a9a6d933be (diff) | |
download | gdb-4c0122c8affb3323f1d4734edbeece0175b89690.zip gdb-4c0122c8affb3323f1d4734edbeece0175b89690.tar.gz gdb-4c0122c8affb3323f1d4734edbeece0175b89690.tar.bz2 |
* solib-svr4.c (solib_break_names): Recognize the 64-bit PowerPC
Linux entry point symbols for _dl_debug_state, too.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/solib-svr4.c | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 50e7fbb..5237edf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2003-06-13 Jim Blandy <jimb@redhat.com> + + * solib-svr4.c (solib_break_names): Recognize the 64-bit PowerPC + Linux entry point symbols for _dl_debug_state, too. + 2003-06-13 Andrew Cagney <cagney@redhat.com> * infcall.c (call_function_by_hand): When UNWIND_DUMMY_ID is diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 1edc0f6..d433534 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -81,6 +81,17 @@ static char *solib_break_names[] = "_dl_debug_state", "rtld_db_dlactivity", "_rtld_debug_state", + + /* On the 64-bit PowerPC, the linker symbol with the same name as + the C function points to a function descriptor, not to the entry + point. The linker symbol whose name is the C function name + prefixed with a '.' points to the function's entry point. So + when we look through this table, we ignore symbols that point + into the data section (thus skipping the descriptor's symbol), + and eventually try this one, giving us the real entry point + address. */ + "._dl_debug_state", + NULL }; |