gdb/gdb-6.6-bz426613-ppc-biarch...

37 lines
1.2 KiB
Diff

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=426613
A very minimal backport of the upstream:
http://sourceware.org/ml/gdb-patches/2007-03/msg00307.html
`continue' of a PIE ppc32 program on ppc64 GDB fails.
diff -u -rup gdb-6.6-orig/gdb/solib-svr4.c gdb-6.6/gdb/solib-svr4.c
--- gdb-6.6-orig/gdb/solib-svr4.c 2007-12-26 18:46:17.000000000 -0500
+++ gdb-6.6/gdb/solib-svr4.c 2007-12-27 16:38:59.000000000 -0500
@@ -130,9 +130,9 @@ LM_ADDR_FROM_LINK_MAP (struct so_list *s
{
struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
- return (CORE_ADDR) extract_signed_integer (so->lm_info->lm
- + lmo->l_addr_offset,
- lmo->l_addr_size);
+ return (CORE_ADDR) extract_unsigned_integer (so->lm_info->lm
+ + lmo->l_addr_offset,
+ lmo->l_addr_size);
}
static int
@@ -150,9 +150,9 @@ LM_DYNAMIC_FROM_LINK_MAP (struct so_list
gdb_assert (lmo->l_ld_size != 0);
- return (CORE_ADDR) extract_signed_integer (so->lm_info->lm
- + lmo->l_ld_offset,
- lmo->l_ld_size);
+ return (CORE_ADDR) extract_unsigned_integer (so->lm_info->lm
+ + lmo->l_ld_offset,
+ lmo->l_ld_size);
}
static CORE_ADDR