From b8f9ee44f9f788ff37b8a5464df40295df68f397 Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Wed, 1 Apr 2009 15:45:13 +0000 Subject: [PATCH] 2009-04-01 Christophe Lyon opcodes/ * arm-dis.c (print_insn): Print BE8 opcodes in little endianness. ld/testsuite/ * ld-arm/arm-elf.exp: BE8 tests expect the same output as the default ones. * ld-arm/arm-be8.d: Print opcodes in little endian. * ld-arm/farcall-thumb-arm-be8.d: Removed useless expected result. * ld-arm/farcall-arm-arm-be8.d: Likewise. --- ld/testsuite/ChangeLog | 8 ++++++++ ld/testsuite/ld-arm/arm-be8.d | 10 +++++----- ld/testsuite/ld-arm/arm-elf.exp | 4 ++-- ld/testsuite/ld-arm/farcall-arm-arm-be8.d | 15 --------------- ld/testsuite/ld-arm/farcall-thumb-arm-be8.d | 19 ------------------- opcodes/ChangeLog | 4 ++++ opcodes/arm-dis.c | 6 +++++- 7 files changed, 24 insertions(+), 42 deletions(-) delete mode 100644 ld/testsuite/ld-arm/farcall-arm-arm-be8.d delete mode 100644 ld/testsuite/ld-arm/farcall-thumb-arm-be8.d diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 540beb7d467..209ac997790 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2009-04-01 Christophe Lyon + + * ld-arm/arm-elf.exp: BE8 tests expect the same output as the + default ones. + * ld-arm/arm-be8.d: Print opcodes in little endian. + * ld-arm/farcall-thumb-arm-be8.d: Removed useless expected result. + * ld-arm/farcall-arm-arm-be8.d: Likewise. + 2009-03-25 Hans-Peter Nilsson * ld-cris/tls-e-dtpoffd3.d, ld-cris/tls-e-tpoffcomm1.d, diff --git a/ld/testsuite/ld-arm/arm-be8.d b/ld/testsuite/ld-arm/arm-be8.d index 68a4ea3fde0..9a7207fc9ad 100644 --- a/ld/testsuite/ld-arm/arm-be8.d +++ b/ld/testsuite/ld-arm/arm-be8.d @@ -4,13 +4,13 @@ Disassembly of section .text: 00008000 : - 8000: 0000a0e3 mov r0, #0 ; 0x0 - 8004: 1eff2fe1 bx lr + 8000: e3a00000 mov r0, #0 ; 0x0 + 8004: e12fff1e bx lr 00008008 : - 8008: c046 nop \(mov r8, r8\) - 800a: 7047 bx lr - 800c: fff7 fcff bl 8008 + 8008: 46c0 nop \(mov r8, r8\) + 800a: 4770 bx lr + 800c: f7ff fffc bl 8008 00008010 : 8010: 12345678 .word 0x12345678 diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index b9c7513a502..3625ddb5502 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -265,7 +265,7 @@ set armeabitests { {{objdump -d farcall-arm-arm-pic-veneer.d}} "farcall-arm-arm-pic-veneer"} {"ARM-ARM farcall (BE8)" "-Ttext 0x1000 --section-start .foo=0x2001020 -EB --be8" "-EB" {farcall-arm-arm.s} - {{objdump -d farcall-arm-arm-be8.d}} + {{objdump -d farcall-arm-arm.d}} "farcall-arm-arm-be8"} {"ARM-ARM farcall (BE)" "-Ttext 0x1000 --section-start .foo=0x2001020 -EB" "-EB" {farcall-arm-arm.s} {{objdump -d farcall-arm-arm.d}} @@ -307,7 +307,7 @@ set armeabitests { {{objdump -d farcall-thumb-arm.d}} "farcall-thumb-arm"} {"Thumb-ARM farcall (BE8)" "-Ttext 0x1000 --section-start .foo=0x2001014 -EB --be8" "-W -EB" {farcall-thumb-arm.s} - {{objdump -d farcall-thumb-arm-be8.d}} + {{objdump -d farcall-thumb-arm.d}} "farcall-thumb-arm-be8"} {"Thumb-ARM farcall (BE)" "-Ttext 0x1000 --section-start .foo=0x2001014 -EB" "-W -EB" {farcall-thumb-arm.s} {{objdump -d farcall-thumb-arm.d}} diff --git a/ld/testsuite/ld-arm/farcall-arm-arm-be8.d b/ld/testsuite/ld-arm/farcall-arm-arm-be8.d deleted file mode 100644 index cf3aa0792a3..00000000000 --- a/ld/testsuite/ld-arm/farcall-arm-arm-be8.d +++ /dev/null @@ -1,15 +0,0 @@ -.*: file format .* - -Disassembly of section .text: - -00001000 <_start>: - 1000: 000000eb bl 1008 <__bar_veneer> - 1004: 00000000 andeq r0, r0, r0 - -00001008 <__bar_veneer>: - 1008: 04f01fe5 ldr pc, \[pc, #-4\] ; 100c <__bar_veneer\+0x4> - 100c: 02001020 .word 0x02001020 -Disassembly of section .foo: - -02001020 : - 2001020: 1eff2fe1 bx lr diff --git a/ld/testsuite/ld-arm/farcall-thumb-arm-be8.d b/ld/testsuite/ld-arm/farcall-thumb-arm-be8.d deleted file mode 100644 index c7d68e022f5..00000000000 --- a/ld/testsuite/ld-arm/farcall-thumb-arm-be8.d +++ /dev/null @@ -1,19 +0,0 @@ -.*: file format .* - -Disassembly of section .text: - -00001000 <_start>: - 1000: 00f0 02f8 bl 1008 <__bar_from_thumb> - 1004: 0000 lsls r0, r0, #0 - \.\.\. - -00001008 <__bar_from_thumb>: - 1008: 7847 bx pc - 100a: c046 nop.* - 100c: 04f01fe5 ldr pc, \[pc, #-4\] ; 1010 <__bar_from_thumb\+0x8> - 1010: 02001014 .word 0x02001014 - 1014: 00000000 .word 0x00000000 -Disassembly of section .foo: - -02001014 : - 2001014: 1eff2fe1 bx lr diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index a98f288452a..87c9fe57d12 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2009-04-01 Christophe Lyon + + * arm-dis.c (print_insn): Print BE8 opcodes in little endianness. + 2009-03-30 Joseph Myers * arm-dis.c (print_insn): Also check section matches in backwards diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 3360b8292d6..884b5aec185 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -4113,7 +4113,11 @@ print_insn (bfd_vma pc, struct disassemble_info *info, bfd_boolean little) if (force_thumb) is_thumb = TRUE; - info->display_endian = little ? BFD_ENDIAN_LITTLE : BFD_ENDIAN_BIG; + if (is_data) + info->display_endian = little ? BFD_ENDIAN_LITTLE : BFD_ENDIAN_BIG; + else + info->display_endian = little_code ? BFD_ENDIAN_LITTLE : BFD_ENDIAN_BIG; + info->bytes_per_line = 4; if (is_data) -- 2.30.2