diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/ppc-linux-tdep.c | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index eff77f2..0bde8d8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2012-11-08 Edjunior Machado <emachado@linux.vnet.ibm.com> + + * ppc-linux-tdep.c (ppc64_standard_linkage1, ppc64_standard_linkage2, + ppc64_standard_linkage3): Mark ld r11 instructions as optional, + following the change in PLT call stubs on linker. + 2012-11-08 Pierre Muller <muller@sourceware.org> * contrib/ari/gdb_ari.sh (LANG, LC_ALL): Use 'C' instead of 'c' diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index ccded83..f88d697 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -390,8 +390,8 @@ static struct insn_pattern ppc64_standard_linkage1[] = /* mtctr r11 */ { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 11, 9, 467), 0 }, - /* ld r11, <any>(r12) */ - { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 0 }, + /* ld r11, <any>(r12) <optional> */ + { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 1 }, /* bctr */ { -1, 0x4e800420, 0 }, @@ -421,8 +421,8 @@ static struct insn_pattern ppc64_standard_linkage2[] = /* ld r2, <any>(r12) */ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 2, 12, 0, 0), 0 }, - /* ld r11, <any>(r12) */ - { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 0 }, + /* ld r11, <any>(r12) <optional> */ + { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 1 }, /* bctr */ { -1, 0x4e800420, 0 }, @@ -446,8 +446,8 @@ static struct insn_pattern ppc64_standard_linkage3[] = /* mtctr r11 */ { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 11, 9, 467), 0 }, - /* ld r11, <any>(r2) */ - { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 2, 0, 0), 0 }, + /* ld r11, <any>(r2) <optional> */ + { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 2, 0, 0), 1 }, /* ld r2, <any>(r2) */ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 2, 2, 0, 0), 0 }, |