* solib-svr4.c (solib_break_names): Recognize the 64-bit PowerPC
authorJim Blandy <jimb@codesourcery.com>
Fri, 13 Jun 2003 21:56:27 +0000 (21:56 +0000)
committerJim Blandy <jimb@codesourcery.com>
Fri, 13 Jun 2003 21:56:27 +0000 (21:56 +0000)
Linux entry point symbols for _dl_debug_state, too.

gdb/ChangeLog
gdb/solib-svr4.c

index 50e7fbbec6246278e91f0e451549259e37e27ba8..5237edf51f21ceb1d27e7eee6b3d8f78d967baca 100644 (file)
@@ -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
index 1edc0f662905057c42c59cb26b284c1536e62fb5..d4335349790f88eb45cb0475f2dee1ccb06d6d87 100644 (file)
@@ -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
 };