diff options
Diffstat (limited to 'ld/testsuite')
36 files changed, 418 insertions, 351 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 122924c12b..dfdda87c80 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,56 @@ +2012-04-12 Roland McGrath <mcgrathr@google.com> + + * ld-arm/arm-elf.exp (armelftests): Split out into ... + (armelftests_common, armelftests_nonacl): ... these two. + (armeabitests): Split out into ... + (armeabitests_common, armeabitests_nonacl): ... these two. + Omit _nonacl sets for arm*-*-nacl* targets. + + * ld-arm/farcall-mix.d: Don't match exact addresses, only symbolic ones. + * ld-arm/farcall-mix2.d: Likewise. + * ld-arm/farcall-group.d: Likewise. + + * ld-arm/tls-gdesc-got.d: Match variant file formats too. + Accept some variation in exact addresses. + + * ld-arm/thumb2-b-interwork.d: Match variant file formats too. + Fix regexps not to care about exact addresses where not relevant. + + * ld-arm/thumb2-bl-undefweak.d: Match any hex strings, not any + strings of particular exact lengths. + * ld-arm/thumb2-bl-undefweak1.d: Likewise. + + * ld-arm/arm-app.r: Match variant file formats too. + * ld-arm/arm-app-abs32.r: Likewise. + * ld-arm/arm-lib.d: Likewise. + * ld-arm/arm-lib.r: Likewise. + * ld-arm/arm-static-app.r: Likewise. + * ld-arm/armv4-bx.d: Likewise. + * ld-arm/data-only-map.d: Likewise. + * ld-arm/group-relocs.d: Likewise. + * ld-arm/jump19.d: Likewise. + * ld-arm/reloc-boundaries.d: Likewise. + * ld-arm/thumb1-bl.d: Likewise. + * ld-arm/thumb2-bl.d: Likewise. + * ld-arm/tls-app.d: Likewise. + * ld-arm/tls-app.r: Likewise. + * ld-arm/tls-gdierelax.d: Likewise. + * ld-arm/tls-gdierelax2.d: Likewise. + * ld-arm/tls-gdlerelax.d: Likewise. + * ld-arm/tls-lib.d: Likewise. + * ld-arm/tls-lib.r: Likewise. + * ld-arm/tls-mixed.r: Likewise. + * ld-arm/vfp11-fix-none.d: Likewise. + * ld-arm/vfp11-fix-scalar.d: Likewise. + * ld-arm/vfp11-fix-vector.d: Likewise. + * ld-arm/arm-static-app.d: Likewise. + Fix regexps not to care about exact number of leading spaces. + * ld-arm/arm-app-abs32.d: Likewise. + * ld-arm/fix-arm1176-off.d: Likewise. + * ld-arm/fix-arm1176-on.d: Likewise. + + * ld-arm/arm-elf.exp: Treat nacl targets like eabi targets. + 2012-04-09 Roland McGrath <mcgrathr@google.com> * ld-elf/eh1.d: Add explicit --64 to as options, and explicit diff --git a/ld/testsuite/ld-arm/arm-app-abs32.d b/ld/testsuite/ld-arm/arm-app-abs32.d index dbee189625..dbfc7ede65 100644 --- a/ld/testsuite/ld-arm/arm-app-abs32.d +++ b/ld/testsuite/ld-arm/arm-app-abs32.d @@ -1,5 +1,5 @@ -tmpdir/arm-app-abs32: file format elf32-(little|big)arm +tmpdir/arm-app-abs32: file format elf32-(little|big)arm.* architecture: arm, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address .* @@ -7,23 +7,23 @@ start address .* Disassembly of section .plt: .* <.plt>: - .*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\) - .*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x10> - .*: e08fe00e add lr, pc, lr - .*: e5bef008 ldr pc, \[lr, #8\]! - .*: .* .* - .*: e28fc6.* add ip, pc, #.* - .*: e28cca.* add ip, ip, #.* ; .* - .*: e5bcf.* ldr pc, \[ip, #.*\]!.* + +.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\) + +.*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x10> + +.*: e08fe00e add lr, pc, lr + +.*: e5bef008 ldr pc, \[lr, #8\]! + +.*: .* .* + +.*: e28fc6.* add ip, pc, #.* + +.*: e28cca.* add ip, ip, #.* ; .* + +.*: e5bcf.* ldr pc, \[ip, #.*\]!.* Disassembly of section .text: .* <_start>: - .*: e1a0c00d mov ip, sp - .*: e92dd800 push {fp, ip, lr, pc} - .*: e59f0004 ldr r0, \[pc, #4\] ; .* <_start\+0x14> - .*: e89d6800 ldm sp, {fp, sp, lr} - .*: e12fff1e bx lr - .*: .* .* + +.*: e1a0c00d mov ip, sp + +.*: e92dd800 push {fp, ip, lr, pc} + +.*: e59f0004 ldr r0, \[pc, #4\] ; .* <_start\+0x14> + +.*: e89d6800 ldm sp, {fp, sp, lr} + +.*: e12fff1e bx lr + +.*: .* .* .* <app_func2>: - .*: e12fff1e bx lr + +.*: e12fff1e bx lr diff --git a/ld/testsuite/ld-arm/arm-app-abs32.r b/ld/testsuite/ld-arm/arm-app-abs32.r index 08d668c297..fd68a0cc36 100644 --- a/ld/testsuite/ld-arm/arm-app-abs32.r +++ b/ld/testsuite/ld-arm/arm-app-abs32.r @@ -1,5 +1,5 @@ -tmpdir/arm-app-abs32: file format elf32-(little|big)arm +tmpdir/arm-app-abs32: file format elf32-(little|big)arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/ld/testsuite/ld-arm/arm-app.r b/ld/testsuite/ld-arm/arm-app.r index 4b25e70c03..1b5cef2bab 100644 --- a/ld/testsuite/ld-arm/arm-app.r +++ b/ld/testsuite/ld-arm/arm-app.r @@ -1,5 +1,5 @@ -tmpdir/arm-app.*: file format elf32-(little|big)arm +tmpdir/arm-app.*: file format elf32-(little|big)arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index 789c7425f2..1ffe3441e1 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -1,5 +1,5 @@ # Expect script for various ARM ELF tests. -# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -67,19 +67,13 @@ if { ![is_elf_format] || ![istarget "arm*-*-*"] } { # nm: Apply nm options on result. Compare with regex (last arg). # readelf: Apply readelf options on result. Compare with regex (last arg). -set armelftests { +set armelftests_common { {"Group relocations" "-Ttext 0x8000 --section-start zero=0x0 --section-start alpha=0xeef0 --section-start beta=0xffeef0" "" {group-relocs.s} {{objdump -dr group-relocs.d}} "group-relocs"} {"Thumb-1 BL" "-Ttext 0x1000 --section-start .foo=0x401000" "" {thumb1-bl.s} {{objdump -dr thumb1-bl.d}} "thumb1-bl"} - {"Simple non-PIC shared library" "-shared" "" {arm-lib.s} - {{objdump -fdw arm-lib.d} {objdump -Rw arm-lib.r}} - "arm-lib.so"} - {"Simple PIC shared library" "-shared" "" {arm-lib-plt32.s} - {{objdump -fdw arm-lib-plt32.d} {objdump -Rw arm-lib-plt32.r}} - "arm-lib-plt32.so"} {"Indirect cross-library function reference (set-up)" "-shared" "" {arm-lib-plt-2a.s} {} @@ -88,34 +82,9 @@ set armelftests { "-shared tmpdir/arm-lib-plt-2a.so" "" {arm-lib-plt-2b.s} {{objdump -dr arm-lib-plt-2.dd} {readelf --relocs arm-lib-plt-2.rd}} "arm-lib-plt-2b.so"} - {"Simple dynamic application" "tmpdir/arm-lib.so" "" {arm-app.s} - {{objdump -fdw arm-app.d} {objdump -Rw arm-app.r}} - "arm-app"} {"Simple static application" "" "" {arm-static-app.s} {{objdump -fdw arm-static-app.d} {objdump -rw arm-static-app.r}} "arm-static-app"} - {"Non-pcrel function reference" "tmpdir/arm-lib.so" "" {arm-app-abs32.s} - {{objdump -fdw arm-app-abs32.d} {objdump -Rw arm-app-abs32.r}} - "arm-app-abs32"} - {"Thumb shared library with ARM entry points" "-shared -T arm-lib.ld" "-mthumb-interwork" - {mixed-lib.s} - {{objdump -fdw armthumb-lib.d} {readelf -Ds armthumb-lib.sym}} - "armthumb-lib.so"} - {"Mixed ARM/Thumb shared library" "-shared -T arm-lib.ld -use-blx" "" - {mixed-lib.s} - {{objdump -fdw mixed-lib.d} {objdump -Rw mixed-lib.r} - {readelf -Ds mixed-lib.sym}} - "mixed-lib.so"} - {"Mixed ARM/Thumb dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld" "" - {mixed-app.s} - {{objdump -fdw mixed-app.d} {objdump -Rw mixed-app.r} - {readelf -Ds mixed-app.sym}} - "mixed-app"} - {"Mixed ARM/Thumb arch5 dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" - {mixed-app.s} - {{objdump -fdw mixed-app-v5.d} {objdump -Rw mixed-app.r} - {readelf -Ds mixed-app.sym}} - "mixed-app-v5"} {"target1-abs" "-static --target1-abs -T arm.ld" "" {arm-target1.s} {{objdump -s arm-target1-abs.d}} "arm-target1-abs"} @@ -149,12 +118,6 @@ set armelftests { {"TLS gnu shared library got" "-shared -T arm-dyn.ld" "" {tls-gdesc-got.s} {{objdump "-fDR -j .got" tls-gdesc-got.d}} "tls-lib2-got.so"} - {"TLS gnu shared library inlined trampoline" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-descseq.s} - {{objdump -fdw tls-descseq.d} {objdump -Rw tls-descseq.r}} - "tls-lib2inline.so"} - {"TLS shared library gdesc local" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-lib-loc.s} - {{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}} - "tls-lib-loc.so"} {"TLS gnu GD to IE relaxation" "-static -T arm-dyn.ld" "" {tls-gdierelax.s} {{objdump -fdw tls-gdierelax.d}} "tls-app-rel-ie"} @@ -210,38 +173,18 @@ set armelftests { "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-fix-b.s} {{objdump -dr cortex-a8-fix-b.d}} "cortex-a8-fix-b"} - {"Cortex-A8 erratum fix, b.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" - {cortex-a8-fix-b-plt.s} - {{objdump -dr cortex-a8-fix-b-plt.d}} - "cortex-a8-fix-b-plt"} {"Cortex-A8 erratum fix, bl.w" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-fix-bl.s} {{objdump -dr cortex-a8-fix-bl.d}} "cortex-a8-fix-bl"} - {"Cortex-A8 erratum fix, bl.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" - {cortex-a8-fix-bl-plt.s} - {{objdump -dr cortex-a8-fix-bl-plt.d}} - "cortex-a8-fix-bl-plt"} {"Cortex-A8 erratum fix, bcc.w" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-fix-bcc.s} {{objdump -dr cortex-a8-fix-bcc.d}} "cortex-a8-fix-bcc"} - {"Cortex-A8 erratum fix, bcc.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" - {cortex-a8-fix-bcc-plt.s} - {{objdump -dr cortex-a8-fix-bcc-plt.d}} - "cortex-a8-fix-bcc-plt"} {"Cortex-A8 erratum fix, blx.w" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-fix-blx.s} {{objdump -dr cortex-a8-fix-blx.d}} "cortex-a8-fix-blx"} - {"Cortex-A8 erratum fix, blx.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" - {cortex-a8-fix-blx-plt.s} - {{objdump -dr cortex-a8-fix-blx-plt.d}} - "cortex-a8-fix-blx-plt"} {"Cortex-A8 erratum fix, relocate b.w to ARM" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-b-rel.s} {{objdump -dr cortex-a8-fix-b-rel-arm.d}} @@ -258,11 +201,6 @@ set armelftests { "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} {{objdump -dr cortex-a8-fix-bl-rel-thumb.d}} "cortex-a8-fix-bl-rel-thumb"} - {"Cortex-A8 erratum fix, relocate bl.w to PLT" - "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared" - "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} - {{objdump -dr cortex-a8-fix-bl-rel-plt.d}} - "cortex-a8-fix-bl-rel-thumb"} {"Cortex-A8 erratum fix, relocate b<cond>.w to Thumb" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bcc-rel.s} {{objdump -dr cortex-a8-fix-bcc-rel-thumb.d}} @@ -334,6 +272,74 @@ set armelftests { "" {exec-got-1b.s} {{readelf --relocs exec-got-1.d}} "exec-got-1"} + {"abs call" "-T arm.ld" "" {abs-call-1.s} + {{objdump -d abs-call-1.d}} + "abs-call-1"} +} + +set armelftests_nonacl { + {"Simple non-PIC shared library" "-shared" "" {arm-lib.s} + {{objdump -fdw arm-lib.d} {objdump -Rw arm-lib.r}} + "arm-lib.so"} + {"Simple PIC shared library" "-shared" "" {arm-lib-plt32.s} + {{objdump -fdw arm-lib-plt32.d} {objdump -Rw arm-lib-plt32.r}} + "arm-lib-plt32.so"} + {"Simple dynamic application" "tmpdir/arm-lib.so" "" {arm-app.s} + {{objdump -fdw arm-app.d} {objdump -Rw arm-app.r}} + "arm-app"} + {"Non-pcrel function reference" "tmpdir/arm-lib.so" "" {arm-app-abs32.s} + {{objdump -fdw arm-app-abs32.d} {objdump -Rw arm-app-abs32.r}} + "arm-app-abs32"} + {"Thumb shared library with ARM entry points" "-shared -T arm-lib.ld" "-mthumb-interwork" + {mixed-lib.s} + {{objdump -fdw armthumb-lib.d} {readelf -Ds armthumb-lib.sym}} + "armthumb-lib.so"} + {"Mixed ARM/Thumb shared library" "-shared -T arm-lib.ld -use-blx" "" + {mixed-lib.s} + {{objdump -fdw mixed-lib.d} {objdump -Rw mixed-lib.r} + {readelf -Ds mixed-lib.sym}} + "mixed-lib.so"} + {"Mixed ARM/Thumb dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld" "" + {mixed-app.s} + {{objdump -fdw mixed-app.d} {objdump -Rw mixed-app.r} + {readelf -Ds mixed-app.sym}} + "mixed-app"} + {"Mixed ARM/Thumb arch5 dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" + {mixed-app.s} + {{objdump -fdw mixed-app-v5.d} {objdump -Rw mixed-app.r} + {readelf -Ds mixed-app.sym}} + "mixed-app-v5"} + {"TLS gnu shared library inlined trampoline" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-descseq.s} + {{objdump -fdw tls-descseq.d} {objdump -Rw tls-descseq.r}} + "tls-lib2inline.so"} + {"TLS shared library gdesc local" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-lib-loc.s} + {{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}} + "tls-lib-loc.so"} + {"Cortex-A8 erratum fix, b.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" + {cortex-a8-fix-b-plt.s} + {{objdump -dr cortex-a8-fix-b-plt.d}} + "cortex-a8-fix-b-plt"} + {"Cortex-A8 erratum fix, bl.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" + {cortex-a8-fix-bl-plt.s} + {{objdump -dr cortex-a8-fix-bl-plt.d}} + "cortex-a8-fix-bl-plt"} + {"Cortex-A8 erratum fix, bcc.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" + {cortex-a8-fix-bcc-plt.s} + {{objdump -dr cortex-a8-fix-bcc-plt.d}} + "cortex-a8-fix-bcc-plt"} + {"Cortex-A8 erratum fix, blx.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" + {cortex-a8-fix-blx-plt.s} + {{objdump -dr cortex-a8-fix-blx-plt.d}} + "cortex-a8-fix-blx-plt"} + {"Cortex-A8 erratum fix, relocate bl.w to PLT" + "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared" + "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} + {{objdump -dr cortex-a8-fix-bl-rel-plt.d}} + "cortex-a8-fix-bl-rel-thumb"} {"IFUNC test 1" "-T ifunc-static.ld" "" {ifunc-1.s} {{objdump -d ifunc-1.dd} {objdump {-s -j.data -j.got} ifunc-1.gd} @@ -416,12 +422,13 @@ set armelftests { {objdump {-s -j.data -j.got} ifunc-16.gd} {readelf -r ifunc-16.rd}} "ifunc-16"} - {"abs call" "-T arm.ld" "" {abs-call-1.s} - {{objdump -d abs-call-1.d}} - "abs-call-1"} } -run_ld_link_tests $armelftests +run_ld_link_tests $armelftests_common +if { ![istarget "arm*-*-nacl*"] } { + run_ld_link_tests $armelftests_nonacl +} + run_dump_test "group-relocs-alu-bad" run_dump_test "group-relocs-ldr-bad" run_dump_test "group-relocs-ldrs-bad" @@ -436,7 +443,7 @@ run_dump_test "movw-shared-4" # Exclude non-ARM-EABI targets. -if { ![istarget "arm*-*-*eabi"] } { +if { ![istarget "arm*-*-*eabi"] && ![istarget "arm*-*-nacl*"] } { # Special variants of these tests, as a different farcall stub is # generated for a non-ARM-EABI target: indeed in such a case, # there are no attributes to indicate that blx can be used. @@ -455,7 +462,7 @@ if { ![istarget "arm*-*-*eabi"] } { } # Farcalls stubs are fully supported for ARM-EABI only -set armeabitests { +set armeabitests_common { {"EABI attribute merging" "-r" "" {attr-merge.s attr-merge.s} {{readelf -A attr-merge.attr}} "attr-merge"} @@ -530,6 +537,73 @@ set armeabitests { {{objdump -d farcall-arm-arm.d}} "farcall-arm-arm-be"} + {"Multiple farcalls" "-Ttext 0x1000 --section-start .foo=0x2002020" "" {farcall-mix.s} + {{objdump -d farcall-mix.d}} + "farcall-mix"} + {"Multiple farcalls from several sections" "-Ttext 0x1000 --section-start .mytext=0x2000 --section-start .foo=0x2003020" "" {farcall-mix2.s} + {{objdump -d farcall-mix2.d}} + "farcall-mix2"} + + {"Default group size" "-Ttext 0x1000 --section-start .foo=0x2003020" "" {farcall-group.s farcall-group2.s} + {{objdump -d farcall-group.d}} + "farcall-group-default"} + {"Group size=2" "-Ttext 0x1000 --section-start .foo=0x2003020 --stub-group-size=2" "" {farcall-group.s farcall-group2.s} + {{objdump -d farcall-group-size2.d}} + "farcall-group-size2"} + {"Group size limit" "-Ttext 0x1000 --section-start .far=0x2003020" "" {farcall-group3.s farcall-group4.s} + {{objdump -d farcall-group-limit.d}} + "farcall-group-limit"} + + {"Long branch with mixed text and data" "-T arm.ld" "" {farcall-data.s} + {{objdump -dr farcall-data.d}} + "farcall-data"} + + {"R_ARM_THM_JUMP24 Relocation veneers: Short 1" + "--no-fix-arm1176 --section-start destsect=0x00009000 --section-start .text=0x8000" + "-march=armv7-a -mthumb" + {jump-reloc-veneers.s} + {{objdump -d jump-reloc-veneers-short1.d}} + "jump-reloc-veneers-short1"} + {"R_ARM_THM_JUMP24 Relocation veneers: Short 2" + "--no-fix-arm1176 --section-start destsect=0x00900000 --section-start .text=0x8000" + "-march=armv7-a -mthumb" + {jump-reloc-veneers.s} + {{objdump -d jump-reloc-veneers-short2.d}} + "jump-reloc-veneers-short2"} + {"R_ARM_THM_JUMP24 Relocation veneers: Long" + "--no-fix-arm1176 --section-start destsect=0x09000000 --section-start .text=0x8000" + "-march=armv7-a -mthumb" + {jump-reloc-veneers.s} + {{objdump -d jump-reloc-veneers-long.d}} + "jump-reloc-veneers-long"} + + {"erratum 760522 fix (default for v6z)" "--section-start=.foo=0x2001014" + "-march=armv6z" {fix-arm1176.s} + {{objdump -d fix-arm1176-on.d}} + "fix-arm1176-1"} + {"erratum 760522 fix (explicitly on at v6z)" "--section-start=.foo=0x2001014 --fix-arm1176" + "-march=armv6z" {fix-arm1176.s} + {{objdump -d fix-arm1176-on.d}} + "fix-arm1176-2"} + {"erratum 760522 fix (explicitly off at v6z)" "--section-start=.foo=0x2001014 --no-fix-arm1176" + "-march=armv6z" {fix-arm1176.s} + {{objdump -d fix-arm1176-off.d}} + "fix-arm1176-3"} + {"erratum 760522 fix (default for v5)" "--section-start=.foo=0x2001014 " + "-march=armv5te" {fix-arm1176.s} + {{objdump -d fix-arm1176-on.d}} + "fix-arm1176-4"} + {"erratum 760522 fix (default for v7-a)" "--section-start=.foo=0x2001014 " + "-march=armv7-a" {fix-arm1176.s} + {{objdump -d fix-arm1176-off.d}} + "fix-arm1176-5"} + {"erratum 760522 fix (default for ARM1156)" "--section-start=.foo=0x2001014 " + "-mcpu=arm1156t2f-s" {fix-arm1176.s} + {{objdump -d fix-arm1176-off.d}} + "fix-arm1176-6"} +} + +set armeabitests_nonacl { {"ARM-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "" {farcall-arm-thumb.s} {{objdump -d farcall-arm-thumb.d}} "farcall-arm-thumb"} @@ -587,23 +661,6 @@ set armeabitests { {{objdump -d farcall-thumb-arm-pic-veneer.d}} "farcall-thumb-arm-pic-veneer"} - {"Multiple farcalls" "-Ttext 0x1000 --section-start .foo=0x2002020" "" {farcall-mix.s} - {{objdump -d farcall-mix.d}} - "farcall-mix"} - {"Multiple farcalls from several sections" "-Ttext 0x1000 --section-start .mytext=0x2000 --section-start .foo=0x2003020" "" {farcall-mix2.s} - {{objdump -d farcall-mix2.d}} - "farcall-mix2"} - - {"Default group size" "-Ttext 0x1000 --section-start .foo=0x2003020" "" {farcall-group.s farcall-group2.s} - {{objdump -d farcall-group.d}} - "farcall-group-default"} - {"Group size=2" "-Ttext 0x1000 --section-start .foo=0x2003020 --stub-group-size=2" "" {farcall-group.s farcall-group2.s} - {{objdump -d farcall-group-size2.d}} - "farcall-group-size2"} - {"Group size limit" "-Ttext 0x1000 --section-start .far=0x2003020" "" {farcall-group3.s farcall-group4.s} - {{objdump -d farcall-group-limit.d}} - "farcall-group-limit"} - {"Mixed ARM/Thumb dynamic application with farcalls" "tmpdir/mixed-lib.so -T arm-dyn.ld --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000" "" {farcall-mixed-app.s} {{objdump -fdw farcall-mixed-app.d} {objdump -Rw farcall-mixed-app.r} @@ -625,28 +682,6 @@ set armeabitests { {{objdump -fdw farcall-mixed-lib.d}} "farcall-mixed-lib.so"} - {"Long branch with mixed text and data" "-T arm.ld" "" {farcall-data.s} - {{objdump -dr farcall-data.d}} - "farcall-data"} - - {"R_ARM_THM_JUMP24 Relocation veneers: Short 1" - "--no-fix-arm1176 --section-start destsect=0x00009000 --section-start .text=0x8000" - "-march=armv7-a -mthumb" - {jump-reloc-veneers.s} - {{objdump -d jump-reloc-veneers-short1.d}} - "jump-reloc-veneers-short1"} - {"R_ARM_THM_JUMP24 Relocation veneers: Short 2" - "--no-fix-arm1176 --section-start destsect=0x00900000 --section-start .text=0x8000" - "-march=armv7-a -mthumb" - {jump-reloc-veneers.s} - {{objdump -d jump-reloc-veneers-short2.d}} - "jump-reloc-veneers-short2"} - {"R_ARM_THM_JUMP24 Relocation veneers: Long" - "--no-fix-arm1176 --section-start destsect=0x09000000 --section-start .text=0x8000" - "-march=armv7-a -mthumb" - {jump-reloc-veneers.s} - {{objdump -d jump-reloc-veneers-long.d}} - "jump-reloc-veneers-long"} {"TLS gnu shared library" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-gdesc.s} {{objdump -fdw tls-gdesc.d} {objdump -Rw tls-gdesc.r}} "tls-lib2.so"} @@ -662,34 +697,13 @@ set armeabitests { {"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" {tls-thumb1.s} {{objdump -fdw tls-thumb1.d}} "tls-thumb1"} +} - {"erratum 760522 fix (default for v6z)" "--section-start=.foo=0x2001014" - "-march=armv6z" {fix-arm1176.s} - {{objdump -d fix-arm1176-on.d}} - "fix-arm1176-1"} - {"erratum 760522 fix (explicitly on at v6z)" "--section-start=.foo=0x2001014 --fix-arm1176" - "-march=armv6z" {fix-arm1176.s} - {{objdump -d fix-arm1176-on.d}} - "fix-arm1176-2"} - {"erratum 760522 fix (explicitly off at v6z)" "--section-start=.foo=0x2001014 --no-fix-arm1176" - "-march=armv6z" {fix-arm1176.s} - {{objdump -d fix-arm1176-off.d}} - "fix-arm1176-3"} - {"erratum 760522 fix (default for v5)" "--section-start=.foo=0x2001014 " - "-march=armv5te" {fix-arm1176.s} - {{objdump -d fix-arm1176-on.d}} - "fix-arm1176-4"} - {"erratum 760522 fix (default for v7-a)" "--section-start=.foo=0x2001014 " - "-march=armv7-a" {fix-arm1176.s} - {{objdump -d fix-arm1176-off.d}} - "fix-arm1176-5"} - {"erratum 760522 fix (default for ARM1156)" "--section-start=.foo=0x2001014 " - "-mcpu=arm1156t2f-s" {fix-arm1176.s} - {{objdump -d fix-arm1176-off.d}} - "fix-arm1176-6"} +run_ld_link_tests $armeabitests_common +if { ![istarget "arm*-*-nacl*"] } { + run_ld_link_tests $armeabitests_nonacl } -run_ld_link_tests $armeabitests run_dump_test "attr-merge-div-00" run_dump_test "attr-merge-div-01" run_dump_test "attr-merge-div-10" diff --git a/ld/testsuite/ld-arm/arm-lib.d b/ld/testsuite/ld-arm/arm-lib.d index 3a1c777ca4..75845fb423 100644 --- a/ld/testsuite/ld-arm/arm-lib.d +++ b/ld/testsuite/ld-arm/arm-lib.d @@ -1,5 +1,5 @@ -tmpdir/arm-lib.so: file format elf32-(little|big)arm +tmpdir/arm-lib.so: file format elf32-(little|big)arm.* architecture: arm, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/ld/testsuite/ld-arm/arm-lib.r b/ld/testsuite/ld-arm/arm-lib.r index a7dde47457..48749d449f 100644 --- a/ld/testsuite/ld-arm/arm-lib.r +++ b/ld/testsuite/ld-arm/arm-lib.r @@ -1,5 +1,5 @@ -tmpdir/arm-lib.so: file format elf32-(little|big)arm +tmpdir/arm-lib.so: file format elf32-(little|big)arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/ld/testsuite/ld-arm/arm-static-app.d b/ld/testsuite/ld-arm/arm-static-app.d index f18f3c6cea..de2f7d6f0d 100644 --- a/ld/testsuite/ld-arm/arm-static-app.d +++ b/ld/testsuite/ld-arm/arm-static-app.d @@ -1,5 +1,5 @@ -tmpdir/arm-static-app: file format elf32-(little|big)arm +tmpdir/arm-static-app: file format elf32-(little|big)arm.* architecture: arm, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x.* @@ -7,18 +7,18 @@ start address 0x.* Disassembly of section .text: .* <_start>: - .*: e1a0c00d mov ip, sp - .*: e92dd800 push {fp, ip, lr, pc} - .*: eb000001 bl .* <app_func> - .*: e89d6800 ldm sp, {fp, sp, lr} - .*: e12fff1e bx lr + +.*: e1a0c00d mov ip, sp + +.*: e92dd800 push {fp, ip, lr, pc} + +.*: eb000001 bl .* <app_func> + +.*: e89d6800 ldm sp, {fp, sp, lr} + +.*: e12fff1e bx lr .* <app_func>: - .*: e1a0c00d mov ip, sp - .*: e92dd800 push {fp, ip, lr, pc} - .*: eb000001 bl .* <app_func2> - .*: e89d6800 ldm sp, {fp, sp, lr} - .*: e12fff1e bx lr + +.*: e1a0c00d mov ip, sp + +.*: e92dd800 push {fp, ip, lr, pc} + +.*: eb000001 bl .* <app_func2> + +.*: e89d6800 ldm sp, {fp, sp, lr} + +.*: e12fff1e bx lr .* <app_func2>: - .*: e12fff1e bx lr + +.*: e12fff1e bx lr diff --git a/ld/testsuite/ld-arm/arm-static-app.r b/ld/testsuite/ld-arm/arm-static-app.r index 6034b7f8d8..92df70ec17 100644 --- a/ld/testsuite/ld-arm/arm-static-app.r +++ b/ld/testsuite/ld-arm/arm-static-app.r @@ -1,3 +1,3 @@ -tmpdir/arm-static-app: file format elf32-(little|big)arm +tmpdir/arm-static-app: file format elf32-(little|big)arm.* diff --git a/ld/testsuite/ld-arm/armv4-bx.d b/ld/testsuite/ld-arm/armv4-bx.d index b30af8c349..be2a4da8c0 100644 --- a/ld/testsuite/ld-arm/armv4-bx.d +++ b/ld/testsuite/ld-arm/armv4-bx.d @@ -1,5 +1,5 @@ -.*: .*file format elf32-(big|little)arm +.*: .*file format elf32-(big|little)arm.* Disassembly of section \.text: diff --git a/ld/testsuite/ld-arm/data-only-map.d b/ld/testsuite/ld-arm/data-only-map.d index 39eed874bb..706e7097e3 100644 --- a/ld/testsuite/ld-arm/data-only-map.d +++ b/ld/testsuite/ld-arm/data-only-map.d @@ -1,5 +1,5 @@ -[^:]*: file format elf32-littlearm +[^:]*: file format elf32-littlearm.* Disassembly of section \.text: diff --git a/ld/testsuite/ld-arm/farcall-group.d b/ld/testsuite/ld-arm/farcall-group.d index 75514f45a3..da811e7191 100644 --- a/ld/testsuite/ld-arm/farcall-group.d +++ b/ld/testsuite/ld-arm/farcall-group.d @@ -3,54 +3,54 @@ Disassembly of section .text: -00001000 <_start>: - 1000: eb00000c bl 1038 <__bar_from_arm> - 1004: eb00000e bl 1044 <__bar2_veneer> - -00001008 <myfunc>: - 1008: eb000008 bl 1030 <__bar3_veneer> - 100c: eb000004 bl 1024 <__bar4_from_arm> - 1010: eb000000 bl 1018 <__bar5_from_arm> - 1014: 00000000 andeq r0, r0, r0 - -00001018 <__bar5_from_arm>: - 1018: e59fc000 ldr ip, \[pc\] ; 1020 <__bar5_from_arm\+0x8> - 101c: e12fff1c bx ip - 1020: 0200302f .word 0x0200302f - -00001024 <__bar4_from_arm>: - 1024: e59fc000 ldr ip, \[pc\] ; 102c <__bar4_from_arm\+0x8> - 1028: e12fff1c bx ip - 102c: 0200302d .word 0x0200302d - -00001030 <__bar3_veneer>: - 1030: e51ff004 ldr pc, \[pc, #-4\] ; 1034 <__bar3_veneer\+0x4> - 1034: 02003028 .word 0x02003028 - -00001038 <__bar_from_arm>: - 1038: e59fc000 ldr ip, \[pc\] ; 1040 <__bar_from_arm\+0x8> - 103c: e12fff1c bx ip - 1040: 02003021 .word 0x02003021 - -00001044 <__bar2_veneer>: - 1044: e51ff004 ldr pc, \[pc, #-4\] ; 1048 <__bar2_veneer\+0x4> - 1048: 02003024 .word 0x02003024 +[0-9a-f]+ <_start>: + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar_from_arm> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar2_veneer> + +[0-9a-f]+ <myfunc>: + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar3_veneer> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar4_from_arm> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar5_from_arm> + +[0-9a-f]+: 00000000 andeq r0, r0, r0 + +[0-9a-f]+ <__bar5_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar5_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200302f .word 0x0200302f + +[0-9a-f]+ <__bar4_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar4_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200302d .word 0x0200302d + +[0-9a-f]+ <__bar3_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar3_veneer\+0x4> + +[0-9a-f]+: 02003028 .word 0x02003028 + +[0-9a-f]+ <__bar_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 02003021 .word 0x02003021 + +[0-9a-f]+ <__bar2_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar2_veneer\+0x4> + +[0-9a-f]+: 02003024 .word 0x02003024 ... Disassembly of section .foo: -02003020 <bar>: - 2003020: 4770 bx lr +[0-9a-f]+ <bar>: + +[0-9a-f]+: 4770 bx lr ... -02003024 <bar2>: - 2003024: e12fff1e bx lr +[0-9a-f]+ <bar2>: + +[0-9a-f]+: e12fff1e bx lr -02003028 <bar3>: - 2003028: e12fff1e bx lr +[0-9a-f]+ <bar3>: + +[0-9a-f]+: e12fff1e bx lr -0200302c <bar4>: - 200302c: 4770 bx lr +[0-9a-f]+ <bar4>: + +[0-9a-f]+: 4770 bx lr -0200302e <bar5>: - 200302e: 4770 bx lr +[0-9a-f]+ <bar5>: + +[0-9a-f]+: 4770 bx lr diff --git a/ld/testsuite/ld-arm/farcall-mix.d b/ld/testsuite/ld-arm/farcall-mix.d index 227cd83233..ffeffb935b 100644 --- a/ld/testsuite/ld-arm/farcall-mix.d +++ b/ld/testsuite/ld-arm/farcall-mix.d @@ -3,49 +3,49 @@ Disassembly of section .text: -00001000 <_start>: - 1000: eb000004 bl 1018 <__bar_from_arm> - 1004: eb00000e bl 1044 <__bar2_veneer> - 1008: eb000005 bl 1024 <__bar3_veneer> - 100c: eb000009 bl 1038 <__bar4_from_arm> - 1010: eb000005 bl 102c <__bar5_from_arm> - 1014: 00000000 andeq r0, r0, r0 - -00001018 <__bar_from_arm>: - 1018: e59fc000 ldr ip, \[pc\] ; 1020 <__bar_from_arm\+0x8> - 101c: e12fff1c bx ip - 1020: 02002021 .word 0x02002021 -00001024 <__bar3_veneer>: - 1024: e51ff004 ldr pc, \[pc, #-4\] ; 1028 <__bar3_veneer\+0x4> - 1028: 02002028 .word 0x02002028 -0000102c <__bar5_from_arm>: - 102c: e59fc000 ldr ip, \[pc\] ; 1034 <__bar5_from_arm\+0x8> - 1030: e12fff1c bx ip - 1034: 0200202f .word 0x0200202f -00001038 <__bar4_from_arm>: - 1038: e59fc000 ldr ip, \[pc\] ; 1040 <__bar4_from_arm\+0x8> - 103c: e12fff1c bx ip - 1040: 0200202d .word 0x0200202d - -00001044 <__bar2_veneer>: - 1044: e51ff004 ldr pc, \[pc, #-4\] ; 1048 <__bar2_veneer\+0x4> - 1048: 02002024 .word 0x02002024 +[0-9a-f]+ <_start>: + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar_from_arm> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar2_veneer> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar3_veneer> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar4_from_arm> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar5_from_arm> + +[0-9a-f]+: 00000000 andeq r0, r0, r0 + +[0-9a-f]+ <__bar_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 02002021 .word 0x02002021 +[0-9a-f]+ <__bar3_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar3_veneer\+0x4> + +[0-9a-f]+: 02002028 .word 0x02002028 +[0-9a-f]+ <__bar5_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar5_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200202f .word 0x0200202f +[0-9a-f]+ <__bar4_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar4_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200202d .word 0x0200202d + +[0-9a-f]+ <__bar2_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar2_veneer\+0x4> + +[0-9a-f]+: 02002024 .word 0x02002024 ... Disassembly of section .foo: -02002020 <bar>: - 2002020: 4770 bx lr +[0-9a-f]+ <bar>: + +[0-9a-f]+: 4770 bx lr ... -02002024 <bar2>: - 2002024: e12fff1e bx lr +[0-9a-f]+ <bar2>: + +[0-9a-f]+: e12fff1e bx lr -02002028 <bar3>: - 2002028: e12fff1e bx lr +[0-9a-f]+ <bar3>: + +[0-9a-f]+: e12fff1e bx lr -0200202c <bar4>: - 200202c: 4770 bx lr +[0-9a-f]+ <bar4>: + +[0-9a-f]+: 4770 bx lr -0200202e <bar5>: - 200202e: 4770 bx lr +[0-9a-f]+ <bar5>: + +[0-9a-f]+: 4770 bx lr diff --git a/ld/testsuite/ld-arm/farcall-mix2.d b/ld/testsuite/ld-arm/farcall-mix2.d index f9b66a3022..192a2a071a 100644 --- a/ld/testsuite/ld-arm/farcall-mix2.d +++ b/ld/testsuite/ld-arm/farcall-mix2.d @@ -3,54 +3,54 @@ Disassembly of section .text: -00001000 <_start>: - 1000: eb000000 bl 1008 <__bar_from_arm> - 1004: eb000002 bl 1014 <__bar2_veneer> - -00001008 <__bar_from_arm>: - 1008: e59fc000 ldr ip, \[pc\] ; 1010 <__bar_from_arm\+0x8> - 100c: e12fff1c bx ip - 1010: 02003021 .word 0x02003021 -00001014 <__bar2_veneer>: - 1014: e51ff004 ldr pc, \[pc, #-4\] ; 1018 <__bar2_veneer\+0x4> - 1018: 02003024 .word 0x02003024 - 101c: 00000000 .word 0x00000000 +[0-9a-f]+ <_start>: + +[0-9a-f]+: eb000000 bl [0-9a-f]+ <__bar_from_arm> + +[0-9a-f]+: eb000002 bl [0-9a-f]+ <__bar2_veneer> + +[0-9a-f]+ <__bar_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 02003021 .word 0x02003021 +[0-9a-f]+ <__bar2_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar2_veneer\+0x4> + +[0-9a-f]+: 02003024 .word 0x02003024 + +[0-9a-f]+: 00000000 .word 0x00000000 Disassembly of section .mytext: -00002000 <__bar3_veneer-0x10>: - 2000: eb000002 bl 2010 <__bar3_veneer> - 2004: eb000003 bl 2018 <__bar4_from_arm> - 2008: eb000005 bl 2024 <__bar5_from_arm> - 200c: 00000000 andeq r0, r0, r0 - -00002010 <__bar3_veneer>: - 2010: e51ff004 ldr pc, \[pc, #-4\] ; 2014 <__bar3_veneer\+0x4> - 2014: 02003028 .word 0x02003028 - -00002018 <__bar4_from_arm>: - 2018: e59fc000 ldr ip, \[pc\] ; 2020 <__bar4_from_arm\+0x8> - 201c: e12fff1c bx ip - 2020: 0200302d .word 0x0200302d - -00002024 <__bar5_from_arm>: - 2024: e59fc000 ldr ip, \[pc\] ; 202c <__bar5_from_arm\+0x8> - 2028: e12fff1c bx ip - 202c: 0200302f .word 0x0200302f +[0-9a-f]+ <__bar3_veneer-0x10>: + +[0-9a-f]+: eb000002 bl [0-9a-f]+ <__bar3_veneer> + +[0-9a-f]+: eb000003 bl [0-9a-f]+ <__bar4_from_arm> + +[0-9a-f]+: eb000005 bl [0-9a-f]+ <__bar5_from_arm> + +[0-9a-f]+: 00000000 andeq r0, r0, r0 + +[0-9a-f]+ <__bar3_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar3_veneer\+0x4> + +[0-9a-f]+: 02003028 .word 0x02003028 + +[0-9a-f]+ <__bar4_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar4_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200302d .word 0x0200302d + +[0-9a-f]+ <__bar5_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar5_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200302f .word 0x0200302f ... Disassembly of section .foo: -02003020 <bar>: - 2003020: 4770 bx lr +[0-9a-f]+ <bar>: + +[0-9a-f]+: 4770 bx lr ... -02003024 <bar2>: - 2003024: e12fff1e bx lr +[0-9a-f]+ <bar2>: + +[0-9a-f]+: e12fff1e bx lr -02003028 <bar3>: - 2003028: e12fff1e bx lr +[0-9a-f]+ <bar3>: + +[0-9a-f]+: e12fff1e bx lr -0200302c <bar4>: - 200302c: 4770 bx lr +[0-9a-f]+ <bar4>: + +[0-9a-f]+: 4770 bx lr -0200302e <bar5>: - 200302e: 4770 bx lr +[0-9a-f]+ <bar5>: + +[0-9a-f]+: 4770 bx lr diff --git a/ld/testsuite/ld-arm/fix-arm1176-off.d b/ld/testsuite/ld-arm/fix-arm1176-off.d index c19feed921..89f01e2a05 100644 --- a/ld/testsuite/ld-arm/fix-arm1176-off.d +++ b/ld/testsuite/ld-arm/fix-arm1176-off.d @@ -1,17 +1,17 @@ -.*: file format elf32-littlearm +.*: file format elf32-littlearm.* Disassembly of section .foo: [0-9a-f]+ <_start>: - [0-9a-f]+: f000 e800 blx 2001018 <__func_to_branch_to_veneer> + +[0-9a-f]+: f000 e800 blx 2001018 <__func_to_branch_to_veneer> [0-9a-f]+ <__func_to_branch_to_veneer>: - [0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 200101c <__func_to_branch_to_veneer\+0x4> - [0-9a-f]+: ........ .word 0x........ + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 200101c <__func_to_branch_to_veneer\+0x4> + +[0-9a-f]+: ........ .word 0x........ Disassembly of section .text: [0-9a-f]+ <func_to_branch_to>: - [0-9a-f]+: e12fff1e bx lr + +[0-9a-f]+: e12fff1e bx lr diff --git a/ld/testsuite/ld-arm/fix-arm1176-on.d b/ld/testsuite/ld-arm/fix-arm1176-on.d index 2df197d4af..6417a33a21 100644 --- a/ld/testsuite/ld-arm/fix-arm1176-on.d +++ b/ld/testsuite/ld-arm/fix-arm1176-on.d @@ -1,20 +1,20 @@ -.+: file format elf32-littlearm +.+: file format elf32-littlearm.* Disassembly of section .foo: [0-9a-f]+ <_start>: - [0-9a-f]+: f000 f800 bl 2001018 <__func_to_branch_to_veneer> + +[0-9a-f]+: f000 f800 bl 2001018 <__func_to_branch_to_veneer> [0-9a-f]+ <__func_to_branch_to_veneer>: - [0-9a-f]+: 4778 bx pc - [0-9a-f]+: 46c0 nop ; \(mov r8, r8\) - [0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 2001020 <__func_to_branch_to_veneer\+0x8> - [0-9a-f]+: ........ .word 0x........ - [0-9a-f]+: 00000000 .word 0x00000000 + +[0-9a-f]+: 4778 bx pc + +[0-9a-f]+: 46c0 nop ; \(mov r8, r8\) + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 2001020 <__func_to_branch_to_veneer\+0x8> + +[0-9a-f]+: ........ .word 0x........ + +[0-9a-f]+: 00000000 .word 0x00000000 Disassembly of section .text: [0-9a-f]+ <func_to_branch_to>: - [0-9a-f]+: e12fff1e bx lr + +[0-9a-f]+: e12fff1e bx lr diff --git a/ld/testsuite/ld-arm/group-relocs.d b/ld/testsuite/ld-arm/group-relocs.d index e81739dc80..7d6f10233d 100644 --- a/ld/testsuite/ld-arm/group-relocs.d +++ b/ld/testsuite/ld-arm/group-relocs.d @@ -1,5 +1,5 @@ -tmpdir/group-relocs: file format elf32-(little|big)arm +tmpdir/group-relocs: file format elf32-(little|big)arm.* Disassembly of section .text: diff --git a/ld/testsuite/ld-arm/jump19.d b/ld/testsuite/ld-arm/jump19.d index 303477f622..a631de2b23 100644 --- a/ld/testsuite/ld-arm/jump19.d +++ b/ld/testsuite/ld-arm/jump19.d @@ -1,5 +1,5 @@ -.*jump19: file format elf32-(big|little)arm +.*jump19: file format elf32-(big|little)arm.* Disassembly of section .text: diff --git a/ld/testsuite/ld-arm/reloc-boundaries.d b/ld/testsuite/ld-arm/reloc-boundaries.d index bcc13d0f5a..4bfaf0a5e2 100644 --- a/ld/testsuite/ld-arm/reloc-boundaries.d +++ b/ld/testsuite/ld-arm/reloc-boundaries.d @@ -1,6 +1,6 @@ -[^:]*: file format elf32-(little|big)arm +[^:]*: file format elf32-(little|big)arm.* Contents of section .text: - 80.. 80ff0080 ffff ...... + [0-9a-f]+ 80ff0080 ffff ...... #... diff --git a/ld/testsuite/ld-arm/thumb1-bl.d b/ld/testsuite/ld-arm/thumb1-bl.d index 09d70959b6..a10db01d00 100644 --- a/ld/testsuite/ld-arm/thumb1-bl.d +++ b/ld/testsuite/ld-arm/thumb1-bl.d @@ -1,5 +1,5 @@ -.*thumb1-bl: file format elf32-.*arm +.*thumb1-bl: file format elf32-.*arm.* Disassembly of section .text: diff --git a/ld/testsuite/ld-arm/thumb2-b-interwork.d b/ld/testsuite/ld-arm/thumb2-b-interwork.d index 431989c7f6..67cb8638ec 100644 --- a/ld/testsuite/ld-arm/thumb2-b-interwork.d +++ b/ld/testsuite/ld-arm/thumb2-b-interwork.d @@ -1,16 +1,16 @@ -.*thumb2-b-interwork: file format elf32-.*arm +.*thumb2-b-interwork: file format elf32-.*arm.* Disassembly of section .text: -00008000 <_start>: - 8000: f000 b802 b.w 8008 <__bar_from_thumb> +[0-9a-f]+ <_start>: + +[0-9a-f]+: f000 b802 b.w [0-9a-f]+ <__bar_from_thumb> -00008004 <bar>: - 8004: e12fff1e bx lr +[0-9a-f]+ <bar>: + +[0-9a-f]+: e12fff1e bx lr -00008008 <__bar_from_thumb>: - 8008: 4778 bx pc - 800a: 46c0 nop ; \(mov r8, r8\) - 800c: eafffffc b 8004 <bar> +[0-9a-f]+ <__bar_from_thumb>: + +[0-9a-f]+: 4778 bx pc + +[0-9a-f]+: 46c0 nop ; \(mov r8, r8\) + +[0-9a-f]+: eafffffc b [0-9a-f]+ <bar> diff --git a/ld/testsuite/ld-arm/thumb2-bl-undefweak.d b/ld/testsuite/ld-arm/thumb2-bl-undefweak.d index 32f7cc1579..5c286bee97 100644 --- a/ld/testsuite/ld-arm/thumb2-bl-undefweak.d +++ b/ld/testsuite/ld-arm/thumb2-bl-undefweak.d @@ -6,4 +6,4 @@ Disassembly of section .text: .* <foo>: - .*: .... .... bl. ... <foo-0x.*> + +[0-9a-f]+: .... .... bl. [0-9a-f]+ <foo-0x[0-9a-f]+> diff --git a/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d b/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d index 929d180be7..a6907f5e71 100644 --- a/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d +++ b/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d @@ -6,4 +6,4 @@ Disassembly of section .text: .* <foo>: - .*: ........ bl ... <foo-0x.*> + +[0-9a-f]+: ........ bl [0-9a-f]+ <foo-0x[0-9a-f]+> diff --git a/ld/testsuite/ld-arm/thumb2-bl.d b/ld/testsuite/ld-arm/thumb2-bl.d index bdfb9b79b7..298a0446a0 100644 --- a/ld/testsuite/ld-arm/thumb2-bl.d +++ b/ld/testsuite/ld-arm/thumb2-bl.d @@ -1,5 +1,5 @@ -.*thumb2-bl: file format elf32-.*arm +.*thumb2-bl: file format elf32-.*arm.* Disassembly of section .text: diff --git a/ld/testsuite/ld-arm/tls-app.d b/ld/testsuite/ld-arm/tls-app.d index 7d2a7094a2..f85d44367b 100644 --- a/ld/testsuite/ld-arm/tls-app.d +++ b/ld/testsuite/ld-arm/tls-app.d @@ -1,5 +1,5 @@ -.*: file format elf32-.*arm +.*: file format elf32-.*arm.* architecture: arm, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x000081c8 diff --git a/ld/testsuite/ld-arm/tls-app.r b/ld/testsuite/ld-arm/tls-app.r index af6c2d7ac4..b156d52368 100644 --- a/ld/testsuite/ld-arm/tls-app.r +++ b/ld/testsuite/ld-arm/tls-app.r @@ -1,5 +1,5 @@ -.*: file format elf32-.*arm +.*: file format elf32-.*arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/ld/testsuite/ld-arm/tls-gdesc-got.d b/ld/testsuite/ld-arm/tls-gdesc-got.d index 3b4a83b181..ab659362f4 100644 --- a/ld/testsuite/ld-arm/tls-gdesc-got.d +++ b/ld/testsuite/ld-arm/tls-gdesc-got.d @@ -1,30 +1,30 @@ -.*/tls-lib2-got.so: file format elf32-.*arm +.*/tls-lib2-got.so: file format elf32-.*arm.* architecture: arm, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED -start address 0x00008210 +start address 0x000082.0 Disassembly of section .got: -00010310 <.*>: - 10310: 00010288 .* +000103.0 <.*>: + 103.0: 000102.8 .* ... - 1031c: 00000008 .* - 1031c: R_ARM_TLS_DESC \*ABS\* - 10320: 00000000 .* - 10324: 0000000c .* - 10324: R_ARM_TLS_DESC \*ABS\* - 10328: 00000000 .* - 1032c: 80000004 .* - 1032c: R_ARM_TLS_DESC glob1 - 10330: 00000000 .* - 10334: 80000006 .* - 10334: R_ARM_TLS_DESC ext2 - 10338: 00000000 .* - 1033c: 80000007 .* - 1033c: R_ARM_TLS_DESC ext1 - 10340: 00000000 .* - 10344: 80000009 .* - 10344: R_ARM_TLS_DESC glob2 + 103.c: 00000008 .* + 103.c: R_ARM_TLS_DESC \*ABS\* + 103.0: 00000000 .* + 103.4: 0000000c .* + 103.4: R_ARM_TLS_DESC \*ABS\* + 103.8: 00000000 .* + 103.c: 80000004 .* + 103.c: R_ARM_TLS_DESC glob1 + 103.0: 00000000 .* + 103.4: 80000006 .* + 103.4: R_ARM_TLS_DESC ext2 + 103.8: 00000000 .* + 103.c: 80000007 .* + 103.c: R_ARM_TLS_DESC ext1 + 103.0: 00000000 .* + 103.4: 80000009 .* + 103.4: R_ARM_TLS_DESC glob2 ... diff --git a/ld/testsuite/ld-arm/tls-gdierelax.d b/ld/testsuite/ld-arm/tls-gdierelax.d index 8d965fc64a..36d22f7c73 100644 --- a/ld/testsuite/ld-arm/tls-gdierelax.d +++ b/ld/testsuite/ld-arm/tls-gdierelax.d @@ -1,5 +1,5 @@ -tmpdir/tls-app-rel-ie: file format elf32-.*arm +tmpdir/tls-app-rel-ie: file format elf32-.*arm.* architecture: arm, flags 0x[0-9a-f]+: EXEC_P, HAS_SYMS, D_PAGED start address 0x[0-9a-f]+ diff --git a/ld/testsuite/ld-arm/tls-gdierelax2.d b/ld/testsuite/ld-arm/tls-gdierelax2.d index 055aad8c20..e9a91dcdd9 100644 --- a/ld/testsuite/ld-arm/tls-gdierelax2.d +++ b/ld/testsuite/ld-arm/tls-gdierelax2.d @@ -1,5 +1,5 @@ -tmpdir/tls-app-rel-ie2: file format elf32-.*arm +tmpdir/tls-app-rel-ie2: file format elf32-.*arm.* architecture: arm, flags 0x[0-9a-f]+: HAS_SYMS, DYNAMIC, D_PAGED start address 0x[0-9a-f]+ diff --git a/ld/testsuite/ld-arm/tls-gdlerelax.d b/ld/testsuite/ld-arm/tls-gdlerelax.d index 896aed781e..3499f6950e 100644 --- a/ld/testsuite/ld-arm/tls-gdlerelax.d +++ b/ld/testsuite/ld-arm/tls-gdlerelax.d @@ -1,5 +1,5 @@ -tmpdir/tls-app-rel-le: file format elf32-.*arm +tmpdir/tls-app-rel-le: file format elf32-.*arm.* architecture: arm, flags 0x[0-9a-f]+: EXEC_P, HAS_SYMS, D_PAGED start address 0x[0-9a-f]+ diff --git a/ld/testsuite/ld-arm/tls-lib.d b/ld/testsuite/ld-arm/tls-lib.d index 4580ead4fd..8e99e9c0bd 100644 --- a/ld/testsuite/ld-arm/tls-lib.d +++ b/ld/testsuite/ld-arm/tls-lib.d @@ -1,5 +1,5 @@ -.*: file format elf32-.*arm +.*: file format elf32-.*arm.* architecture: arm, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/ld/testsuite/ld-arm/tls-lib.r b/ld/testsuite/ld-arm/tls-lib.r index 279b80540e..3847f7723f 100644 --- a/ld/testsuite/ld-arm/tls-lib.r +++ b/ld/testsuite/ld-arm/tls-lib.r @@ -1,5 +1,5 @@ -.*: file format elf32-.*arm +.*: file format elf32-.*arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/ld/testsuite/ld-arm/tls-mixed.r b/ld/testsuite/ld-arm/tls-mixed.r index 79ccdebc8f..02f9b02e95 100644 --- a/ld/testsuite/ld-arm/tls-mixed.r +++ b/ld/testsuite/ld-arm/tls-mixed.r @@ -1,5 +1,5 @@ -.*: file format elf32-.*arm +.*: file format elf32-.*arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/ld/testsuite/ld-arm/vfp11-fix-none.d b/ld/testsuite/ld-arm/vfp11-fix-none.d index 64a67ae207..e1be0e0880 100644 --- a/ld/testsuite/ld-arm/vfp11-fix-none.d +++ b/ld/testsuite/ld-arm/vfp11-fix-none.d @@ -1,5 +1,5 @@ -.*: .*file format elf32-(big|little)arm +.*: .*file format elf32-(big|little)arm.* Disassembly of section \.text: diff --git a/ld/testsuite/ld-arm/vfp11-fix-scalar.d b/ld/testsuite/ld-arm/vfp11-fix-scalar.d index 509513711d..a817af861d 100644 --- a/ld/testsuite/ld-arm/vfp11-fix-scalar.d +++ b/ld/testsuite/ld-arm/vfp11-fix-scalar.d @@ -1,5 +1,5 @@ -.*: .*file format elf32-(big|little)arm +.*: .*file format elf32-(big|little)arm.* Disassembly of section \.text: diff --git a/ld/testsuite/ld-arm/vfp11-fix-vector.d b/ld/testsuite/ld-arm/vfp11-fix-vector.d index 15c080ac8a..b19645e417 100644 --- a/ld/testsuite/ld-arm/vfp11-fix-vector.d +++ b/ld/testsuite/ld-arm/vfp11-fix-vector.d @@ -1,5 +1,5 @@ -.*: .*file format elf32-(big|little)arm +.*: .*file format elf32-(big|little)arm.* Disassembly of section \.text: |