aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2003-06-13 21:56:27 +0000
committerJim Blandy <jimb@codesourcery.com>2003-06-13 21:56:27 +0000
commit4c0122c8affb3323f1d4734edbeece0175b89690 (patch)
treeeda024256551e9eddacec49a38c942a1fff194a7
parent3e210248bd30a25cad7598cf3acd95a9a6d933be (diff)
downloadgdb-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/ChangeLog5
-rw-r--r--gdb/solib-svr4.c11
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
};