# Expect script for various ARM ELF tests.
#   Copyright 2002-2013 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
#

if {[istarget "arm-*-vxworks"]} {
    set armvxworkstests {
	{"VxWorks shared library test 1" "-shared -Tvxworks1.ld" ""
	 "" {vxworks1-lib.s}
	 {{readelf --relocs vxworks1-lib.rd} {objdump -dr vxworks1-lib.dd}
	  {readelf --symbols vxworks1-lib.nd} {readelf -d vxworks1-lib.td}}
	 "libvxworks1.so"}
	{"VxWorks executable test 1 (dynamic)" \
	 "tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic" ""
	 "" {vxworks1.s}
	 {{readelf --relocs vxworks1.rd} {objdump -dr vxworks1.dd}}
	 "vxworks1"}
	{"VxWorks executable test 2 (dynamic)" \
	 "-Tvxworks1.ld -q --force-dynamic" ""
	 "" {vxworks2.s}
	 {{readelf --segments vxworks2.sd}}
	 "vxworks2"}
	{"VxWorks executable test 2 (static)"
	 "-Tvxworks1.ld" ""
	 "" {vxworks2.s}
	 {{readelf --segments vxworks2-static.sd}}
	 "vxworks2"}
    }
    run_ld_link_tests $armvxworkstests
    run_dump_test "vxworks1-static"
    run_dump_test "emit-relocs1-vxworks"
}

if { [istarget "arm*-*-symbianelf*"] } {
    run_dump_test "symbian-seg1"
}

# Exclude non-ARM-ELF targets.

if { ![is_elf_format] || ![istarget "arm*-*-*"] } {
    return
}

# List contains test-items with 3 items followed by 2 lists and one more item:
# 0:name 1:ld early options 2:ld late options 3:assembler options
# 4:filenames of assembler files 5: action and options. 6: name of output file

# Actions:
# objdump: Apply objdump options on result.  Compare with regex (last arg).
# nm: Apply nm options on result.  Compare with regex (last arg).
# readelf: Apply readelf options on result.  Compare with regex (last arg).

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"}
    {"Indirect cross-library function reference (set-up)"
     "-shared" "" "" {arm-lib-plt-2a.s}
     {}
     "arm-lib-plt-2a.so"}
    {"Indirect cross-library function reference"
     "-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 static application" "" "" "" {arm-static-app.s}
     {{objdump -fdw arm-static-app.d} {objdump -rw arm-static-app.r}}
     "arm-static-app"}
    {"target1-abs" "-static --target1-abs -T arm.ld" "" "" {arm-target1.s}
     {{objdump -s arm-target1-abs.d}}
     "arm-target1-abs"}
    {"target1-rel" "-static --target1-rel -T arm.ld" "" "" {arm-target1.s}
     {{objdump -s arm-target1-rel.d}}
     "arm-target1-rel"}
    {"target2-rel" "-static --target2=rel -T arm.ld" "" "" {arm-target2.s}
     {{objdump -s arm-target2-rel.d}}
     "arm-target2-rel"}
    {"target2-abs" "-static --target2=abs -T arm.ld" "" "" {arm-target2.s}
     {{objdump -s arm-target2-abs.d}}
     "arm-target2-abs"}
    {"target2-got-rel" "-static --target2=got-rel -T arm.ld" "" "" {arm-target2.s}
     {{objdump -s arm-target2-got-rel.d}}
     "arm-target2-got-rel"}
    {"arm-rel31" "-static -T arm.ld" "" "" {arm-rel31.s}
     {{objdump -s arm-rel31.d}}
     "arm-rel31"}
    {"arm-rel32" "-shared -T arm-dyn.ld" "" "" {arm-rel32.s}
     {{objdump -Rsj.data arm-rel32.d}}
     "arm-rel32"}
    {"arm-call" "--no-fix-arm1176 -static -T arm.ld" "" "-meabi=4" {arm-call1.s arm-call2.s}
     {{objdump -d arm-call.d}}
     "arm-call"}
    {"TLS shared library" "-shared -T arm-lib.ld" "" "" {tls-lib.s}
     {{objdump -fdw tls-lib.d} {objdump -Rw tls-lib.r}}
     "tls-lib.so"}
    {"TLS dynamic application" "-T arm-dyn.ld tmpdir/tls-lib.so" "" "" {tls-app.s}
     {{objdump -fdw tls-app.d} {objdump -Rw tls-app.r}}
     "tls-app"}
    {"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 GD to IE relaxation" "-static -T arm-dyn.ld" "" "" {tls-gdierelax.s}
     {{objdump -fdw tls-gdierelax.d}}
     "tls-app-rel-ie"}
    {"TLS gnu GD to IE shared relaxation" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-gdierelax2.s}
     {{objdump -fdw tls-gdierelax2.d}}
     "tls-app-rel-ie2"}
    {"TLS gnu GD to LE relaxation" "-T arm-dyn.ld" "" "" {tls-gdlerelax.s}
     {{objdump -fdw tls-gdlerelax.d}}
     "tls-app-rel-le"}
    {"TLS mixed models shared lib" "-shared -T arm-dyn.ld" "" "" {tls-mixed.s}
     {{objdump -Rw tls-mixed.r}}
     "tls-mixed.so"}
    {"TLS descseq relaxation" "-T arm-dyn.ld" "" "" {tls-descrelax.s}
     {{objdump -fdw tls-descrelax.d}}
     "tls-descrelax"}
    {"TLS descseq relaxation v7" "-T arm-dyn.ld" "" "" {tls-descrelax-v7.s}
     {{objdump -fdw tls-descrelax-v7.d}}
     "tls-descrelax-v7"}
    {"TLS descseq relaxation BE8" "-T arm-dyn.ld -EB --be8" "" "-mbig-endian" {tls-descrelax-be8.s}
     {{objdump -fdw tls-descrelax-be8.d}}
     "tls-descrelax-be8"}
    {"TLS descseq relaxation BE32" "-T arm-dyn.ld -EB" "" "-mbig-endian" {tls-descrelax-be32.s}
     {{objdump -fdw tls-descrelax-be32.d}}
     "tls-descrelax-be32"}
    {"TLS local PIC symbol static link" "-T arm.ld" "" "" {tls-local-static.s}
      {{objdump -fdw tls-local-static.d}}
      "tls-local-static"}
    {"Thumb entry point" "-T arm.ld" "" "" {thumb-entry.s}
     {{readelf -h thumb-entry.d}}
     "thumb-entry"}
    {"thumb-rel32" "-static -T arm.ld" "" "" {thumb-rel32.s}
     {{objdump -s thumb-rel32.d}}
     "thumb-rel32"}
    {"MOVW/MOVT" "-static -T arm.ld" "" "" {arm-movwt.s}
     {{objdump -dw arm-movwt.d}}
     "arm-movwt"}
    {"BE8 Mapping Symbols" "-static -T arm.ld -EB --be8" "" "-EB" {arm-be8.s}
     {{objdump -d arm-be8.d}}
     "arm-be8"}
    {"VFP11 denorm erratum fix, scalar operation"
     "-EL --vfp11-denorm-fix=scalar -Ttext=0x8000" "" "-EL -mfpu=vfpxd" {vfp11-fix-scalar.s}
     {{objdump -dr vfp11-fix-scalar.d}}
     "vfp11-fix-scalar"}
    {"VFP11 denorm erratum fix, vector operation"
     "-EB --vfp11-denorm-fix=vector -Ttext=0x8000" "" "-EB -mfpu=vfpxd" {vfp11-fix-vector.s}
     {{objdump -dr vfp11-fix-vector.d}}
     "vfp11-fix-vector"}
    {"VFP11 denorm erratum fix, embedded code-like data"
     "-EL --vfp11-denorm-fix=scalar -Ttext=0x8000" "" "-EL -mfpu=vfpxd" {vfp11-fix-none.s}
     {{objdump -dr vfp11-fix-none.d}}
     "vfp11-fix-none"}
    {"Cortex-A8 erratum fix, b.w"
     "-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, 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, 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, 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, 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}}
     "cortex-a8-fix-b-rel-arm"}
    {"Cortex-A8 erratum fix, relocate b.w to Thumb"
     "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-b-rel.s}
     {{objdump -dr cortex-a8-fix-b-rel-thumb.d}}
     "cortex-a8-fix-b-rel-thumb"}
    {"Cortex-A8 erratum fix, relocate bl.w to ARM"
     "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-bl-rel.s}
     {{objdump -dr cortex-a8-fix-bl-rel-arm.d}}
     "cortex-a8-fix-bl-rel-arm"}
    {"Cortex-A8 erratum fix, relocate bl.w to Thumb"
     "-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 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}}
     "cortex-a8-fix-bcc-rel-thumb"}
    {"Cortex-A8 erratum fix, relocate blx.w to ARM"
     "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-blx-rel.s}
     {{objdump -dr cortex-a8-fix-blx-rel-arm.d}}
     "cortex-a8-fix-blx-rel-arm"}
    {"Cortex-A8 erratum fix, relocate blx.w to Thumb"
     "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-blx-rel.s}
     {{objdump -dr cortex-a8-fix-blx-rel-thumb.d}}
     "cortex-a8-fix-blx-rel-thumb"}
    {"Cortex-A8 erratum fix, relocate bl.w and far call"
     "-EL -Ttext=0x00 --fix-cortex-a8 --defsym _start=0" ""
     "-EL -mcpu=cortex-a8" {cortex-a8-far-1.s cortex-a8-far-2.s cortex-a8-far-3.s}
     {{objdump -dr cortex-a8-far.d}}
     "cortex-a8-far"}
    {"Cortex-A8 erratum fix, headers"
     "-EL --fix-cortex-a8 -T cortex-a8-fix-hdr.t" ""
     "-EL -mcpu=cortex-a8" {cortex-a8-fix-hdr.s}
     {{objdump -dr cortex-a8-fix-hdr.d}}
     "cortex-a8-fix-hdr"}
    {"Cortex-A8 erratum fix, blx.w and b<cond>.w together"
     "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-blx-bcond.s}
     {{objdump -dr cortex-a8-fix-blx-bcond.d}}
     "cortex-a8-fix-blx-bcond"}
    {"Unwinding and -gc-sections" "-gc-sections" "" "" {gc-unwind.s}
     {{objdump -sj.data gc-unwind.d}}
     "gc-unwind"}
    {"Thumb and -gc-sections" "-shared -T arm-dyn.ld" "" "" {gc-thumb-lib.s}
     {}
     "gc-thumb-lib.so"}
    {"Thumb and -gc-sections" "-pie -T arm.ld -gc-sections tmpdir/gc-thumb-lib.so" "" "" {gc-thumb.s}
     {{readelf --relocs gc-thumb.d}}
     "gc-thumb"}
    {"arm-pic-veneer" "-static -T arm.ld --pic-veneer" "" "" {arm-pic-veneer.s}
     {{objdump -d arm-pic-veneer.d}}
     "arm-pic-veneer"}
    {"jump19" "-static -T arm.ld" "" "" {jump19.s}
     {{objdump -dr jump19.d}}
     "jump19"}
    {"script-type" "-static -T script-type.ld" "" "" {script-type.s}
     {{readelf -s script-type.sym}}
     "script-type"}
    {"callweak" "-static -T arm.ld" "" "" {callweak.s}
     {{objdump -dr callweak.d}}
     "callweak"}
    {"callweak-2" "-static -T arm.ld" "" "" {callweak-2.s}
     {{objdump -dr callweak-2.d}}
     "callweak-2"}
    {"Relocation boundaries" "-defsym x=0 -defsym y=0 -defsym _start=0" "" "" {reloc-boundaries.s}
     {{objdump -s reloc-boundaries.d}}
     "reloc-boundaries"}
    {"Data only mapping symbols" "-T data-only-map.ld -Map map" "" "" {data-only-map.s}
     {{objdump -dr data-only-map.d}}
     "data-only-map"}
    {"Data only mapping symbols for merged sections" "-T rodata-merge-map.ld" "" "" {rodata-merge-map1.s rodata-merge-map2.s rodata-merge-map3.s}
     {{readelf -s rodata-merge-map.sym}}
     "rodata-merge-map"}
    {"GOT relocations in executables (setup)" "-shared" ""
     "" {exec-got-1a.s}
     {}
     "exec-got-1.so"}
    {"GOT relocations in executables" "tmpdir/exec-got-1.so" ""
     "" {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"}
    {"Simple non-PIC shared library (no PLT check)" "-shared" "" "" {arm-lib.s}
     {{objdump -Rw arm-lib.r}}
     "arm-lib.so"}
    {"EABI soft-float ET_EXEC ABI flag" "-T arm.ld" "" "-mfloat-abi=soft -meabi=5" {eabi-soft-float.s}
     {{readelf -h eabi-soft-float.d}}
     "eabi-soft-float"}
    {"EABI hard-float ET_EXEC ABI flag" "-T arm.ld" "" "-mfloat-abi=hard -meabi=5" {eabi-hard-float.s}
     {{readelf -h eabi-hard-float.d}}
     "eabi-hard-float"}
    {"EABI hard-float ET_DYN ABI flag" "-shared" "" "-mfloat-abi=hard -meabi=5" {eabi-hard-float.s}
     {{readelf -h eabi-hard-float.d}}
     "eabi-hard-float.so"}
    {"EABI ABI flags wrong ABI version" "-T arm.ld" "" "-mfloat-abi=soft -meabi=4" {eabi-soft-float.s}
     {{readelf -h eabi-soft-float-ABI4.d}}
     "eabi-soft-float-no-flags"}
    {"EABI ABI flags ld -r" "-r" "" "-mfloat-abi=soft -meabi=5" {eabi-soft-float.s}
     {{readelf -h eabi-soft-float-r.d}}
     "eabi-soft-float-r.o"}
}

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"}
    {"Simple static application without .rel.plt in linker script"
	"-T arm-no-rel-plt.ld" "" "" {arm-static-app.s}
     {{objdump -fdw arm-static-app.d} {objdump -rw arm-static-app.r}}
     "arm-static-app"}
    {"Simple dynamic application without .rel.plt in linker script"
	"tmpdir/arm-lib.so -T arm-no-rel-plt.ld" "" "" {arm-app.s}
     {{ld arm-no-rel-plt.out}}
     "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"}
    {"Using Thumb lib by another lib" "-shared tmpdir/mixed-lib.so" "" "" {use-thumb-lib.s}
     {{readelf -Ds use-thumb-lib.sym}}
     "use-thumb-lib.so"}
    {"Preempt Thumb symbol" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" ""
     {preempt-app.s}
     {{readelf -Ds preempt-app.sym}}
     "preempt-app"}
    {"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}
      {readelf -dr ifunc-1.rd}}
     "ifunc-1"}
    {"IFUNC test 2" "-T ifunc-static.ld" "" "" {ifunc-2.s}
     {{objdump -d ifunc-2.dd}
      {objdump {-s -j.data -j.got} ifunc-2.gd}
      {readelf -dr ifunc-2.rd}}
     "ifunc-2"}
    {"IFUNC test 3" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-3.s}
     {{objdump -d ifunc-3.dd}
      {objdump {-s -j.data -j.got} ifunc-3.gd}
      {readelf -r ifunc-3.rd}}
     "ifunc-3.so"}
    {"IFUNC test 4" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-4.s}
     {{objdump -d ifunc-4.dd}
      {objdump {-s -j.data -j.got} ifunc-4.gd}
      {readelf -r ifunc-4.rd}}
     "ifunc-4.so"}
    {"IFUNC test 5" "-T ifunc-static.ld" "" "" {ifunc-5.s}
     {{objdump -d ifunc-5.dd}
      {objdump {-s -j.data -j.got} ifunc-5.gd}
      {readelf -dr ifunc-5.rd}}
     "ifunc-5"}
    {"IFUNC test 6" "-T ifunc-static.ld" "" "" {ifunc-6.s}
     {{objdump -d ifunc-6.dd}
      {objdump {-s -j.data -j.got} ifunc-6.gd}
      {readelf -dr ifunc-6.rd}}
     "ifunc-6"}
    {"IFUNC test 7" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so -shared" ""
     "" {ifunc-7.s}
     {{objdump -d ifunc-7.dd}
      {objdump {-s -j.data -j.got} ifunc-7.gd}
      {readelf -r ifunc-7.rd}}
     "ifunc-7.so"}
    {"IFUNC test 8" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so -shared" ""
     "" {ifunc-8.s}
     {{objdump -d ifunc-8.dd}
      {objdump {-s -j.data -j.got} ifunc-8.gd}
      {readelf -r ifunc-8.rd}}
     "ifunc-8.so"}
    {"IFUNC test 9" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so" "" "" {ifunc-9.s}
     {{objdump -d ifunc-9.dd}
      {objdump {-s -j.data -j.got} ifunc-9.gd}
      {readelf -r ifunc-9.rd}}
     "ifunc-9"}
    {"IFUNC test 10" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so" "" "" {ifunc-10.s}
     {{objdump -d ifunc-10.dd}
      {objdump {-s -j.data -j.got} ifunc-10.gd}
      {readelf -r ifunc-10.rd}}
     "ifunc-10"}
    {"IFUNC test 11" "-T ifunc-static.ld" "" "" {ifunc-11.s}
     {{objdump -d ifunc-11.dd}
      {objdump {-s -j.data -j.got} ifunc-11.gd}
      {readelf -dr ifunc-11.rd}}
     "ifunc-11"}
    {"IFUNC test 12" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-12.s}
     {{objdump -d ifunc-12.dd}
      {objdump {-s -j.data -j.got} ifunc-12.gd}
      {readelf -r ifunc-12.rd}}
     "ifunc-12.so"}
    {"IFUNC test 13" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-13.s}
     {{objdump -d ifunc-13.dd}
      {objdump {-s -j.data -j.got} ifunc-13.gd}
      {readelf -r ifunc-13.rd}}
     "ifunc-13"}
    {"IFUNC test 14" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-14.s}
     {{objdump -d ifunc-14.dd}
      {objdump {-s -j.data -j.got} ifunc-14.gd}
      {readelf -r ifunc-14.rd}}
     "ifunc-14"}
    {"IFUNC test 15" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-15.s}
     {{objdump -d ifunc-15.dd}
      {objdump {-s -j.data -j.got} ifunc-15.gd}
      {readelf -r ifunc-15.rd}}
     "ifunc-15"}
    {"IFUNC test 16" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-16.s}
     {{objdump -d ifunc-16.dd}
      {objdump {-s -j.data -j.got} ifunc-16.gd}
      {readelf -r ifunc-16.rd}}
     "ifunc-16"}
    {"IFUNC test 17" "-T ifunc-static.ld" "" "" {ifunc-17.s}
     {{objdump -d ifunc-17.dd}
      {objdump {-s -j.data -j.got} ifunc-17.gd}
      {readelf -r ifunc-17.rd}}
     "ifunc-17"}
}

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"
run_dump_test "group-relocs-ldc-bad"
run_dump_test "thumb2-bl-undefweak"
run_dump_test "thumb2-bl-undefweak1"
run_dump_test "emit-relocs1"
run_dump_test "movw-shared-1"
run_dump_test "movw-shared-2"
run_dump_test "movw-shared-3"
run_dump_test "movw-shared-4"

# Exclude non-ARM-EABI targets.

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.

    set arm_noeabi_tests {
	{"Thumb-2-as-Thumb-1 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" "" {thumb2-bl-as-thumb1-bad.s}
	    {{objdump -d thumb2-bl-as-thumb1-bad-noeabi.d}}
	    "thumb2-bl-as-thumb1-bad"}
	{"Thumb-2 BL bad" "-Ttext 0x1000 --section-start .foo=0x100100c" "" "" {thumb2-bl-bad.s}
	    {{objdump -d thumb2-bl-bad-noeabi.d}}
	    "thumb2-bl-bad"}
    }
    run_ld_link_tests $arm_noeabi_tests

    return
}

# Farcalls stubs are fully supported for ARM-EABI only
set armeabitests_common {
     {"EABI attribute merging" "-r" "" "" {attr-merge.s attr-merge.s}
      {{readelf -A attr-merge.attr}}
      "attr-merge"}
     {"EABI attribute merging 2" "-r" "" "" {attr-merge-2a.s attr-merge-2b.s}
      {{readelf -A attr-merge-2.attr}}
      "attr-merge-2"}
     {"EABI attribute merging 3" "-r" "" "" {attr-merge-3a.s attr-merge-3b.s}
      {{readelf -A attr-merge-3.attr}}
      "attr-merge-3"}
     {"EABI attribute merging 4" "-r" "" "" {attr-merge-4a.s attr-merge-4b.s}
      {{readelf -A attr-merge-4.attr}}
      "attr-merge-4"}
     {"EABI attribute merging 5" "-r" "" "" {attr-merge-5.s attr-merge-5.s}
      {{readelf -A attr-merge-5.attr}}
      "attr-merge-5"}
     {"EABI attribute merging 6" "-r" "" "" {attr-merge-6a.s attr-merge-6b.s}
      {{readelf -A attr-merge-6.attr}}
      "attr-merge-6"}
     {"EABI attribute merging 6 reversed" "-r" "" "" {attr-merge-6b.s attr-merge-6a.s}
      {{readelf -A attr-merge-6.attr}}
      "attr-merge-6r"}
     {"EABI attribute merging 7" "-r" "" "" {attr-merge-7a.s attr-merge-7b.s}
      {{readelf -A attr-merge-7.attr}}
      "attr-merge-7"}
     {"EABI attribute arch merging 1" "-r" "" "" {arch-v6k.s arch-v6t2.s}
      {{readelf -A attr-merge-arch-1.attr}}
      "attr-merge-arch-1"}
     {"EABI attribute arch merging 1 reversed" "-r" "" "" {arch-v6t2.s arch-v6k.s}
      {{readelf -A attr-merge-arch-1.attr}}
      "attr-merge-arch-1r"}
     {"EABI attribute arch merging 2" "-r" "" "" {arch-v6k.s arch-v6.s}
      {{readelf -A attr-merge-arch-2.attr}}
      "attr-merge-arch-2"}
     {"EABI attribute arch merging 2 reversed" "-r" "" "" {arch-v6.s arch-v6k.s}
      {{readelf -A attr-merge-arch-2.attr}}
      "attr-merge-arch-2r"}
     {"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" "" {thumb2-bl.s}
      {{objdump -dr thumb2-bl.d}}
      "thumb2-bl"}
     {"Thumb-2 Interworked branch" "-T arm.ld" "" "" {thumb2-b-interwork.s}
      {{objdump -dr thumb2-b-interwork.d}}
      "thumb2-b-interwork"}
    {"BL/BLX interworking" "-T arm.ld" "" "" {thumb2-bl-blx-interwork.s}
     {{objdump -dr thumb2-bl-blx-interwork.d}}
     "thumb2-bl-blx-interwork"}
    {"ARMv4 interworking" "-static -T arm.ld --fix-v4bx-interworking" "" "--fix-v4bx -meabi=4" {armv4-bx.s}
     {{objdump -d armv4-bx.d}}
     "armv4-bx"}
    {"MOVW/MOVT and merged sections" "-T arm.ld" "" "" {movw-merge.s}
     {{objdump -dw movw-merge.d}}
     "movw-merge"}
    {"MOVW/MOVT against shared libraries" "tmpdir/arm-lib.so" "" "" {arm-app-movw.s}
     {{objdump -Rw arm-app.r}}
     "arm-app-movw"}
    {"Thumb-2-as-Thumb-1 BL" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x100100c" "" "" {thumb2-bl-as-thumb1-bad.s}
     {{objdump -d thumb2-bl-as-thumb1-bad.d}}
     "thumb2-bl-as-thumb1-bad"}
    {"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" "" {thumb2-bl-bad.s}
     {{objdump -d thumb2-bl-bad.d}}
     "thumb2-bl-bad"}
    {"Branch to linker script symbol with BL for thumb-only target" "-T branch-lks-sym.ld" "" "" {thumb-bl-lks-sym.s}
     {{objdump -d thumb-bl-lks-sym.d}}
     "thumb-bl-lks-sym"}
    {"Branch to linker script symbol with B for thumb-only target" "-T branch-lks-sym.ld" "" "" {thumb-b-lks-sym.s}
     {{objdump -d thumb-b-lks-sym.d}}
     "thumb-b-lks-sym"}

    {"ARM-ARM farcall" "-Ttext 0x1000 --section-start .foo=0x2001020" "" "" {farcall-arm-arm.s}
     {{objdump -d farcall-arm-arm.d}}
     "farcall-arm-arm"}
    {"ARM-ARM farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001020 --pic-veneer" "" "" {farcall-arm-arm.s}
     {{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.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}}
     "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"}
    {"ARM-Thumb farcall with BLX" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014" "" "-march=armv5t" {farcall-arm-thumb.s}
     {{objdump -d farcall-arm-thumb-blx.d}}
     "farcall-arm-thumb-blx"}
    {"ARM-Thumb farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" "" {farcall-arm-thumb.s}
     {{objdump -d farcall-arm-thumb-pic-veneer.d}}
     "farcall-arm-thumb-pic-veneer"}
    {"ARM-Thumb farcall with BLX (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" "-march=armv5t" {farcall-arm-thumb.s}
     {{objdump -d farcall-arm-thumb-blx-pic-veneer.d}}
     "farcall-arm-thumb-blx-pic-veneer"}

    {"Thumb-Thumb farcall with BLX" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014" "" "-march=armv5t" {farcall-thumb-thumb.s}
     {{objdump -d farcall-thumb-thumb-blx.d}}
     "farcall-thumb-thumb-blx"}
    {"Thumb-Thumb farcall M profile" "-Ttext 0x1000 --section-start .foo=0x2001014" "" "-march=armv7-m" {farcall-thumb-thumb.s}
     {{objdump -d farcall-thumb-thumb-m.d}}
     "farcall-thumb-thumb-m"}
    {"Thumb-Thumb farcall v6-M" "-Ttext 0x1000 --section-start .foo=0x2001014" "" "-march=armv6-m" {farcall-thumb-thumb.s}
     {{objdump -d farcall-thumb-thumb-m.d}}
     "farcall-thumb-thumb-v6-m"}
    {"Thumb-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "" "-march=armv4t" {farcall-thumb-thumb.s}
     {{objdump -d farcall-thumb-thumb.d}}
     "farcall-thumb-thumb"}
    {"Thumb-Thumb farcall with BLX (PIC veneer)" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" "-march=armv5t" {farcall-thumb-thumb.s}
     {{objdump -d farcall-thumb-thumb-blx-pic-veneer.d}}
     "farcall-thumb-thumb-blx-pic-veneer"}
    {"Thumb-Thumb farcall M profile (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" "-march=armv7-m" {farcall-thumb-thumb.s}
     {{objdump -d farcall-thumb-thumb-m-pic-veneer.d}}
     "farcall-thumb-thumb-m-pic-veneer"}
    {"Thumb-Thumb farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" "-march=armv4t" {farcall-thumb-thumb.s}
     {{objdump -d farcall-thumb-thumb-pic-veneer.d}}
     "farcall-thumb-thumb-pic-veneer"}

    {"Thumb-ARM farcall" "-Ttext 0x1c01010 --section-start .foo=0x2001014" "" "-W" {farcall-thumb-arm.s}
     {{objdump -d farcall-thumb-arm.d}}
     "farcall-thumb-arm"}
    {"Thumb-ARM farcall (BE8)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 -EB --be8" "" "-W -EB" {farcall-thumb-arm.s}
     {{objdump -d farcall-thumb-arm.d}}
     "farcall-thumb-arm-be8"}
    {"Thumb-ARM farcall (BE)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 -EB" "" "-W -EB" {farcall-thumb-arm.s}
     {{objdump -d farcall-thumb-arm.d}}
     "farcall-thumb-arm-be"}
    {"Thumb-ARM (short) call" "-Ttext 0x1000 --section-start .foo=0x0002014" "" "-W" {farcall-thumb-arm-short.s}
     {{objdump -d farcall-thumb-arm-short.d}}
     "farcall-thumb-arm-short"}
    {"Thumb-ARM farcall with BLX" "--no-fix-arm1176 -Ttext 0x1c01010 --section-start .foo=0x2001014" "" "-W -march=armv5t" {farcall-thumb-arm.s}
     {{objdump -d farcall-thumb-arm-blx.d}}
     "farcall-thumb-arm-blx"}
    {"Thumb-ARM farcall with BLX (PIC veneer)" "--no-fix-arm1176 -Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "" "-W -march=armv5t" {farcall-thumb-arm.s}
     {{objdump -d farcall-thumb-arm-blx-pic-veneer.d}}
     "farcall-thumb-arm-blx-pic-veneer"}
    {"Thumb-ARM farcall (PIC veneer)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "" "-W" {farcall-thumb-arm.s}
     {{objdump -d farcall-thumb-arm-pic-veneer.d}}
     "farcall-thumb-arm-pic-veneer"}

    {"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}
      {readelf -Ds farcall-mixed-app.sym}}
     "farcall-mixed-app"}
    {"Mixed ARM/Thumb arch5 dynamic application with farcalls" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000" "" ""
     {farcall-mixed-app.s}
     {{objdump -fdw farcall-mixed-app-v5.d} {objdump -Rw farcall-mixed-app.r}
      {readelf -Ds farcall-mixed-app.sym}}
     "farcall-mixed-app-v5"}

    {"Mixed ARM/Thumb shared library with long branches (v4t)" "-shared -T arm-lib.ld" "" "-march=armv4t"
     {farcall-mixed-lib1.s farcall-mixed-lib2.s}
     {{objdump -fdw farcall-mixed-lib-v4t.d}}
     "farcall-mixed-lib.so"}

    {"Mixed ARM/Thumb shared library with long branches (v5t)" "--no-fix-arm1176 -shared -T arm-lib.ld" "" "-march=armv5t"
     {farcall-mixed-lib1.s farcall-mixed-lib2.s}
     {{objdump -fdw farcall-mixed-lib.d}}
     "farcall-mixed-lib.so"}

    {"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"}
    {"TLS gnu shared library non-lazy" "-z now -shared -T arm-dyn.ld" "" "" {tls-gdesc.s}
     {{readelf "-x .got" tls-gdesc-nlazy.g}}
     "tls-lib2-nlazy.so"}
    {"TLS long plt library" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" "" {tls-longplt-lib.s}
     {{objdump -fdw tls-longplt-lib.d}}
     "tls-longplt-lib.so"}
    {"TLS long plt" "-T arm-dyn.ld --section-start .foo=0x4001000 tmpdir/tls-longplt-lib.so" "" "" {tls-longplt.s}
     {{objdump -fdw tls-longplt.d}}
     "tls-longplt"}
    {"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" "" {tls-thumb1.s}
     {{objdump -fdw tls-thumb1.d}}
     "tls-thumb1"}
}

run_ld_link_tests $armeabitests_common
if { ![istarget "arm*-*-nacl*"] } {
    run_ld_link_tests $armeabitests_nonacl
}

run_dump_test "attr-merge-div-00"
run_dump_test "attr-merge-div-01"
run_dump_test "attr-merge-div-10"
run_dump_test "attr-merge-div-01-m3"
run_dump_test "attr-merge-div-10-m3"
run_dump_test "attr-merge-div-11"
run_dump_test "attr-merge-div-12"
run_dump_test "attr-merge-div-120"
run_dump_test "attr-merge-div-21"
run_dump_test "attr-merge-div-22"
run_dump_test "attr-merge-div-02"
run_dump_test "attr-merge-div-20"
run_dump_test "attr-merge-wchar-00"
run_dump_test "attr-merge-wchar-02"
run_dump_test "attr-merge-wchar-04"
run_dump_test "attr-merge-wchar-20"
run_dump_test "attr-merge-wchar-22"
run_dump_test "attr-merge-wchar-24"
run_dump_test "attr-merge-wchar-40"
run_dump_test "attr-merge-wchar-42"
run_dump_test "attr-merge-wchar-44"
run_dump_test "attr-merge-wchar-00-nowarn"
run_dump_test "attr-merge-wchar-02-nowarn"
run_dump_test "attr-merge-wchar-04-nowarn"
run_dump_test "attr-merge-wchar-20-nowarn"
run_dump_test "attr-merge-wchar-22-nowarn"
run_dump_test "attr-merge-wchar-24-nowarn"
run_dump_test "attr-merge-wchar-40-nowarn"
run_dump_test "attr-merge-wchar-42-nowarn"
run_dump_test "attr-merge-wchar-44-nowarn"
run_dump_test "farcall-section"
run_dump_test "attr-merge-unknown-1"
run_dump_test "attr-merge-unknown-2"
run_dump_test "attr-merge-unknown-2r"
run_dump_test "attr-merge-unknown-3"
run_dump_test "unwind-1"
run_dump_test "unwind-2"
run_dump_test "unwind-3"
run_dump_test "unwind-4"
run_dump_test "unwind-5"
run_dump_test "attr-merge-vfp-1"
run_dump_test "attr-merge-vfp-1r"
run_dump_test "attr-merge-vfp-2"
run_dump_test "attr-merge-vfp-2r"
run_dump_test "attr-merge-vfp-3"
run_dump_test "attr-merge-vfp-3r"
run_dump_test "attr-merge-vfp-4"
run_dump_test "attr-merge-vfp-4r"
run_dump_test "attr-merge-vfp-5"
run_dump_test "attr-merge-vfp-5r"
run_dump_test "attr-merge-vfp-6"
run_dump_test "attr-merge-vfp-6r"
run_dump_test "attr-merge-vfp-7"
run_dump_test "attr-merge-vfp-7r"
run_dump_test "attr-merge-incompatible"
run_dump_test "unresolved-1"
if { ![istarget "arm*-*-nacl*"] } {
    run_dump_test "unresolved-1-dyn"
}
run_dump_test "gc-hidden-1"
