aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2007-01-04 15:24:12 +0000
committerJim Blandy <jimb@codesourcery.com>2007-01-04 15:24:12 +0000
commitbdfb387038def636b7db3cd7de0597d7c01349ac (patch)
treef813fca1c5197eb9092144926427ef8c44739604
parentb327f31f6db30f09102c0212eb526c7d83b09daa (diff)
downloadgdb-bdfb387038def636b7db3cd7de0597d7c01349ac.zip
gdb-bdfb387038def636b7db3cd7de0597d7c01349ac.tar.gz
gdb-bdfb387038def636b7db3cd7de0597d7c01349ac.tar.bz2
* glibc-tdep.c (glibc_skip_solib_resolver): Look for '_dl_fixup',
then plain 'fixup'.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/glibc-tdep.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b5dd5fc..1cbf335 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-04 Jim Blandy <jimb@codesourcery.com>
+
+ * glibc-tdep.c (glibc_skip_solib_resolver): Look for '_dl_fixup',
+ then plain 'fixup'.
+
2007-01-04 Joel Brobecker <brobecker@adacore.com>
* hpread.c (hpread_start_psymtab): Remove unnecessary extern.
diff --git a/gdb/glibc-tdep.c b/gdb/glibc-tdep.c
index a37be98..5c3a97a 100644
--- a/gdb/glibc-tdep.c
+++ b/gdb/glibc-tdep.c
@@ -90,8 +90,13 @@ glibc_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
if (resolver)
{
+ /* The dynamic linker began using this name in early 2005. */
struct minimal_symbol *fixup
- = lookup_minimal_symbol ("fixup", NULL, objfile);
+ = lookup_minimal_symbol ("_dl_fixup", NULL, objfile);
+
+ /* This is the name used in older versions. */
+ if (! fixup)
+ fixup = lookup_minimal_symbol ("fixup", NULL, objfile);
if (fixup && SYMBOL_VALUE_ADDRESS (fixup) == pc)
return frame_pc_unwind (get_current_frame ());