aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2010-02-08 14:33:22 +0000
committerNick Clifton <nickc@redhat.com>2010-02-08 14:33:22 +0000
commitbb7c70edcc3262f3a38a7c7b0bb262578d784838 (patch)
tree5265c938578e594d9fe872ad1fa995de4001ca7b
parent0b8bcf0ddbf245438a44d81f0a8c3eb8202336ef (diff)
downloadgdb-bb7c70edcc3262f3a38a7c7b0bb262578d784838.zip
gdb-bb7c70edcc3262f3a38a7c7b0bb262578d784838.tar.gz
gdb-bb7c70edcc3262f3a38a7c7b0bb262578d784838.tar.bz2
* objdump.c (disassemble_bytes): Clear aux->reloc before printing
a new address, so as not to reuse a previous, non-related reloc. * gas/arm/arm-it-auto.d, gas/arm/bl-local-v4t.d, gas/arm/blx-local.d, gas/arm/thumb-w-good.d: Update expected results.
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/objdump.c5
-rw-r--r--gas/testsuite/ChangeLog8
-rw-r--r--gas/testsuite/gas/arm/arm-it-auto.d16
-rw-r--r--gas/testsuite/gas/arm/bl-local-v4t.d18
-rw-r--r--gas/testsuite/gas/arm/blx-local.d8
-rw-r--r--gas/testsuite/gas/arm/thumb-w-good.d2
-rw-r--r--gas/testsuite/gas/arm/wince.d22
8 files changed, 49 insertions, 35 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index ede4c6d..33bfd3e 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-08 Christophe Lyon <christophe.lyon@st.com>
+
+ * objdump.c (disassemble_bytes): Clear aux->reloc before printing
+ a new address, so as not to reuse a previous, non-related reloc.
+
2010-02-02 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (get_note_type): Handle NT_X86_XSTATE.
diff --git a/binutils/objdump.c b/binutils/objdump.c
index b53d4eb..41d0b4e 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -1516,6 +1516,9 @@ disassemble_bytes (struct disassemble_info * inf,
previous_octets = octets;
octets = 0;
+ /* Make sure we don't use relocs from previous instructions. */
+ aux->reloc = NULL;
+
/* If we see more than SKIP_ZEROES octets of zeroes, we just
print `...'. */
for (z = addr_offset * opb; z < stop_offset * opb; z++)
@@ -1619,8 +1622,6 @@ disassemble_bytes (struct disassemble_info * inf,
inf->flags |= INSN_HAS_RELOC;
aux->reloc = **relppp;
}
- else
- aux->reloc = NULL;
}
octets = (*disassemble_fn) (section->vma + addr_offset, inf);
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 43a7813..d875cfe 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2010-02-08 Christophe Lyon <christophe.lyon@st.com>
+
+ * gas/arm/arm-it-auto.d: Update expected results.
+ * gas/arm/bl-local-v4t.d: Likewise.
+ * gas/arm/blx-local.d: Likewise.
+ * gas/arm/thumb-w-good.d: Likewise.
+ * gas/arm/wince.d: Likewise.
+
2010-02-08 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* gas/ppc/titan.d, * gas/ppc/titan.s: New test.
diff --git a/gas/testsuite/gas/arm/arm-it-auto.d b/gas/testsuite/gas/arm/arm-it-auto.d
index 68d5d4a..bfdd9d6 100644
--- a/gas/testsuite/gas/arm/arm-it-auto.d
+++ b/gas/testsuite/gas/arm/arm-it-auto.d
@@ -71,11 +71,11 @@ Disassembly of section .text:
0000008c <main\+0x8c> bf18 it ne
0000008e <main\+0x8e> 200d movne r0, #13
00000090 <main\+0x90> f... f... bl 0000000. <f.*>
-00000094 <f\+0x94> bd10 pop {r4, pc}
-00000096 <f\+0x96> f... f... bl 0000000. <f.*>
-0000009a <f\+0x9a> bfb8 it lt
-0000009c <f\+0x9c> 2000 movlt r0, #0
-0000009e <f\+0x9e> 4348 muls r0, r1
-000000a0 <f\+0xa0> bfb8 it lt
-000000a2 <f\+0xa2> 2000 movlt r0, #0
-000000a4 <f\+0xa4> 4348 muls r0, r1
+00000094 <main\+0x94> bd10 pop {r4, pc}
+00000096 <main\+0x96> f... f... bl 0000000. <f.*>
+0000009a <main\+0x9a> bfb8 it lt
+0000009c <main\+0x9c> 2000 movlt r0, #0
+0000009e <main\+0x9e> 4348 muls r0, r1
+000000a0 <main\+0xa0> bfb8 it lt
+000000a2 <main\+0xa2> 2000 movlt r0, #0
+000000a4 <main\+0xa4> 4348 muls r0, r1
diff --git a/gas/testsuite/gas/arm/bl-local-v4t.d b/gas/testsuite/gas/arm/bl-local-v4t.d
index 767d9ce..959f6b2 100644
--- a/gas/testsuite/gas/arm/bl-local-v4t.d
+++ b/gas/testsuite/gas/arm/bl-local-v4t.d
@@ -7,13 +7,13 @@
.*: +file format .*arm.*
Disassembly of section .text:
0+00 <[^>]*> f7ff fffe bl 00+18 <[^>]*> 0: R_ARM_THM_CALL foo2
-0+1c <[^>]*> d004 beq.n 00+28 <[^>]*>
-0+1e <[^>]*> e003 b.n 00+28 <[^>]*>
-0+20 <[^>]*> f000 f808 bl 00+34 <[^>]*>
-0+24 <[^>]*> f000 f802 bl 00+2c <[^>]*>
-0+28 <[^>]*> 46c0 nop ; \(mov r8, r8\)
-0+2a <[^>]*> 46c0 nop ; \(mov r8, r8\)
-0+2c <[^>]*> 46c0 nop ; \(mov r8, r8\)
+0+04 <[^>]*> d004 beq.n 00+10 <[^>]*>
+0+06 <[^>]*> e003 b.n 00+10 <[^>]*>
+0+08 <[^>]*> f000 f808 bl 00+1c <[^>]*>
+0+0c <[^>]*> f000 f802 bl 00+14 <[^>]*>
+0+10 <[^>]*> 46c0 nop ; \(mov r8, r8\)
+0+12 <[^>]*> 46c0 nop ; \(mov r8, r8\)
+0+14 <[^>]*> 46c0 nop ; \(mov r8, r8\)
...
-0+30 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
-0+34 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
+0+18 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
+0+1c <[^>]*> e1a00000 nop ; \(mov r0, r0\)
diff --git a/gas/testsuite/gas/arm/blx-local.d b/gas/testsuite/gas/arm/blx-local.d
index 5aae7ba..2f9a90d 100644
--- a/gas/testsuite/gas/arm/blx-local.d
+++ b/gas/testsuite/gas/arm/blx-local.d
@@ -23,7 +23,7 @@ Disassembly of section .text:
0+2c <[^>]*> 0afffffc beq 00000024 <fooundefthumb>
0+30 <[^>]*> eafffffb b 00000024 <fooundefthumb>
0+34 <[^>]*> 0bfffffe bleq 00000020 <foo> 34: R_ARM_JUMP24 foo
-0+58 <[^>]*> 0afffffe beq 00000020 <foo> 38: R_ARM_JUMP24 foo
-0+5c <[^>]*> eafffffe b 00000020 <foo> 3c: R_ARM_JUMP24 foo
-0+60 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
-0+64 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
+0+38 <[^>]*> 0afffffe beq 00000020 <foo> 38: R_ARM_JUMP24 foo
+0+3c <[^>]*> eafffffe b 00000020 <foo> 3c: R_ARM_JUMP24 foo
+0+40 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
+0+44 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
diff --git a/gas/testsuite/gas/arm/thumb-w-good.d b/gas/testsuite/gas/arm/thumb-w-good.d
index 645a951..d41493f 100644
--- a/gas/testsuite/gas/arm/thumb-w-good.d
+++ b/gas/testsuite/gas/arm/thumb-w-good.d
@@ -6,4 +6,4 @@
Disassembly of section .text:
00000000 <.text> f7ff fffe bl 00000000 <foo>
-00000004 <foo\+0x4> f3ef 8000 mrs r0, CPSR
+00000004 <.text\+0x4> f3ef 8000 mrs r0, CPSR
diff --git a/gas/testsuite/gas/arm/wince.d b/gas/testsuite/gas/arm/wince.d
index 1608db9..4f6535a 100644
--- a/gas/testsuite/gas/arm/wince.d
+++ b/gas/testsuite/gas/arm/wince.d
@@ -13,18 +13,18 @@ Disassembly of section .text:
0: ARM_32 global_data
0+004 <global_sym> e1a00000 nop ; \(mov r0, r0\)
0+008 <global_sym\+0x4> e1a00000 nop ; \(mov r0, r0\)
-0+000c <global_sym\+0x8> e1a00000 nop ; \(mov r0, r0\)
+0+00c <global_sym\+0x8> e1a00000 nop ; \(mov r0, r0\)
0+010 <global_sym\+0xc> eafffffb b f+ff8 <global_sym\+0xf+ff4>
10: ARM_26D global_sym\+0xf+ffc
-0+018 <global_sym\+0x14> ebfffffa bl f+ff4 <global_sym\+0xf+ff0>
+0+014 <global_sym\+0x10> ebfffffa bl f+ff4 <global_sym\+0xf+ff0>
14: ARM_26D global_sym\+0xf+ffc
-0+01c <global_sym\+0x18> 0afffff9 beq f+ff0 <global_sym\+0xf+fec>
+0+018 <global_sym\+0x14> 0afffff9 beq f+ff0 <global_sym\+0xf+fec>
18: ARM_26D global_sym\+0xf+ffc
-0+020 <global_sym\+0x1c> eafffff8 b 0+008 <global_sym\+0x4>
-0+024 <global_sym\+0x20> ebfffff7 bl 0+008 <global_sym\+0x4>
-0+028 <global_sym\+0x24> 0afffff6 beq 0+008 <global_sym\+0x4>
-0+02c <global_sym\+0x28> eafffff5 b 0+008 <global_sym\+0x4>
-0+030 <global_sym\+0x2c> ebfffff4 bl 0+008 <global_sym\+0x4>
-0+034 <global_sym\+0x30> e51f0034 ldr r0, \[pc, #-52\] ; 0+008 <global_sym\+0x4>
-0+038 <global_sym\+0x34> e51f0038 ldr r0, \[pc, #-56\] ; 0+008 <global_sym\+0x4>
-0+03c <global_sym\+0x38> e51f003c ldr r0, \[pc, #-60\] ; 0+008 <global_sym\+0x4>
+0+01c <global_sym\+0x18> eafffff8 b 0+004 <global_sym>
+0+020 <global_sym\+0x1c> ebfffff7 bl 0+004 <global_sym>
+0+024 <global_sym\+0x20> 0afffff6 beq 0+004 <global_sym>
+0+028 <global_sym\+0x24> eafffff5 b 0+004 <global_sym>
+0+02c <global_sym\+0x28> ebfffff4 bl 0+004 <global_sym>
+0+030 <global_sym\+0x2c> e51f0034 ldr r0, \[pc, #-52\] ; 0+004 <global_sym>
+0+034 <global_sym\+0x30> e51f0038 ldr r0, \[pc, #-56\] ; 0+004 <global_sym>
+0+038 <global_sym\+0x34> e51f003c ldr r0, \[pc, #-60\] ; 0+004 <global_sym>