diff options
Diffstat (limited to 'gdb/solib-svr4.c')
-rw-r--r-- | gdb/solib-svr4.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 1edc0f66290..d4335349790 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 }; |