From faa440a08d083d7bfb0e32b913974fee9a409b43 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 8 Feb 2010 14:33:21 +0000 Subject: [PATCH] * 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. --- binutils/ChangeLog | 5 +++++ binutils/objdump.c | 5 +++-- gas/testsuite/ChangeLog | 8 ++++++++ gas/testsuite/gas/arm/arm-it-auto.d | 16 ++++++++-------- gas/testsuite/gas/arm/bl-local-v4t.d | 18 +++++++++--------- gas/testsuite/gas/arm/blx-local.d | 8 ++++---- gas/testsuite/gas/arm/thumb-w-good.d | 2 +- gas/testsuite/gas/arm/wince.d | 22 +++++++++++----------- 8 files changed, 49 insertions(+), 35 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index ede4c6de6..33bfd3ec2 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2010-02-08 Christophe Lyon + + * 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 * readelf.c (get_note_type): Handle NT_X86_XSTATE. diff --git a/binutils/objdump.c b/binutils/objdump.c index b53d4ebe9..41d0b4eb3 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 43a781348..d875cfeba 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2010-02-08 Christophe Lyon + + * 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 * 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 68d5d4ac1..bfdd9d64d 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 bf18 it ne 0000008e 200d movne r0, #13 00000090 f... f... bl 0000000. -00000094 bd10 pop {r4, pc} -00000096 f... f... bl 0000000. -0000009a bfb8 it lt -0000009c 2000 movlt r0, #0 -0000009e 4348 muls r0, r1 -000000a0 bfb8 it lt -000000a2 2000 movlt r0, #0 -000000a4 4348 muls r0, r1 +00000094 bd10 pop {r4, pc} +00000096 f... f... bl 0000000. +0000009a bfb8 it lt +0000009c 2000 movlt r0, #0 +0000009e 4348 muls r0, r1 +000000a0 bfb8 it lt +000000a2 2000 movlt r0, #0 +000000a4 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 767d9ce47..959f6b2ba 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 5aae7bada..2f9a90dfa 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 0+30 <[^>]*> eafffffb b 00000024 0+34 <[^>]*> 0bfffffe bleq 00000020 34: R_ARM_JUMP24 foo -0+58 <[^>]*> 0afffffe beq 00000020 38: R_ARM_JUMP24 foo -0+5c <[^>]*> eafffffe b 00000020 3c: R_ARM_JUMP24 foo -0+60 <[^>]*> e1a00000 nop ; \(mov r0, r0\) -0+64 <[^>]*> e1a00000 nop ; \(mov r0, r0\) +0+38 <[^>]*> 0afffffe beq 00000020 38: R_ARM_JUMP24 foo +0+3c <[^>]*> eafffffe b 00000020 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 645a951fa..d41493f94 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 -00000004 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 1608db98d..4f6535aac 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 e1a00000 nop ; \(mov r0, r0\) 0+008 e1a00000 nop ; \(mov r0, r0\) -0+000c e1a00000 nop ; \(mov r0, r0\) +0+00c e1a00000 nop ; \(mov r0, r0\) 0+010 eafffffb b f+ff8 10: ARM_26D global_sym\+0xf+ffc -0+018 ebfffffa bl f+ff4 +0+014 ebfffffa bl f+ff4 14: ARM_26D global_sym\+0xf+ffc -0+01c 0afffff9 beq f+ff0 +0+018 0afffff9 beq f+ff0 18: ARM_26D global_sym\+0xf+ffc -0+020 eafffff8 b 0+008 -0+024 ebfffff7 bl 0+008 -0+028 0afffff6 beq 0+008 -0+02c eafffff5 b 0+008 -0+030 ebfffff4 bl 0+008 -0+034 e51f0034 ldr r0, \[pc, #-52\] ; 0+008 -0+038 e51f0038 ldr r0, \[pc, #-56\] ; 0+008 -0+03c e51f003c ldr r0, \[pc, #-60\] ; 0+008 +0+01c eafffff8 b 0+004 +0+020 ebfffff7 bl 0+004 +0+024 0afffff6 beq 0+004 +0+028 eafffff5 b 0+004 +0+02c ebfffff4 bl 0+004 +0+030 e51f0034 ldr r0, \[pc, #-52\] ; 0+004 +0+034 e51f0038 ldr r0, \[pc, #-56\] ; 0+004 +0+038 e51f003c ldr r0, \[pc, #-60\] ; 0+004 -- 2.11.4.GIT