X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gas%2Ftestsuite%2Fgas%2Felf%2Felf.exp;h=4aa2b2e6a8784243a3bd6395b80ed84ed28f30dd;hb=79c077509f32b19b6a16728a9afb7b42a8d3dc27;hp=637ce9a7d82ae6094fd495970a10f5290e06d8cd;hpb=e7c3341679431c5ecfc170a984d7196cdc175777;p=binutils-gdb.git diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp index 637ce9a7d82..4aa2b2e6a87 100644 --- a/gas/testsuite/gas/elf/elf.exp +++ b/gas/testsuite/gas/elf/elf.exp @@ -9,7 +9,7 @@ proc run_elf_list_test { name suffix opts readelf_opts readelf_pipe } { set file $srcdir/$subdir/$name gas_run ${name}.s "$opts -o dump.o" ">&dump.out" if { ![string match "" $opts] - && [regexp_diff "dump.out" "${file}.l"] } then { + && [regexp_diff "dump.out" "${file}.l" ""] } then { fail $testname verbose "output is [file_contents "dump.out"]" 2 return @@ -28,7 +28,7 @@ proc run_elf_list_test { name suffix opts readelf_opts readelf_pipe } { return } verbose_eval {[file_contents "dump.out"]} 3 - if { [regexp_diff "dump.out" "${file}.e${suffix}"] } then { + if { [regexp_diff "dump.out" "${file}.e${suffix}" ""] } then { fail $testname verbose "output is [file_contents "dump.out"]" 2 return @@ -37,7 +37,7 @@ proc run_elf_list_test { name suffix opts readelf_opts readelf_pipe } { } # We're testing bits in obj-elf -- don't run on anything else. -if { ([istarget "*-*-*elf*"] +if { ([istarget "*-*-*elf*"] || [istarget "*-*-linux*"] || [istarget "m6811-*"] || [istarget "m6812-*"] @@ -59,12 +59,18 @@ if { ([istarget "*-*-*elf*"] if {[istarget "score-*-*"]} then { set target_machine -score } + if {[istarget "tic6x-*-*"]} then { + set target_machine -tic6x + } if {[istarget "xtensa*-*-*"]} then { set target_machine -xtensa } + if {[istarget "rx-*-*"]} then { + set target_machine -rx + } if { ([istarget "*arm*-*-*"] || [istarget "xscale*-*-*"]) } { - + if { ([istarget "*-*-*eabi"] || [istarget "*-*-linux-*"] || [istarget "*-*-symbianelf"])} then { @@ -79,13 +85,29 @@ if { ([istarget "*-*-*elf*"] # function prologues. if {![istarget "mn10300-*-*"] && ![istarget "xtensa*-*-*"] - && ![istarget "am3*-*-*"]} then { + && ![istarget "am3*-*-*"]} then { run_dump_test "ehopt0" } - run_dump_test "group0a" - run_dump_test "group0b" - run_dump_test "group1a" - run_dump_test "group1b" + case $target_triplet in { + { m68k-*-* m68[03]??-*-* } { + run_dump_test "file" { { as "--defsym m68k=1" } } + } + { mmix-*-* } { + run_dump_test "file" { { as "--defsym mmix=1" } } + } + { xtensa*-*-* } { + run_dump_test "file" { { as "--rename-section file.s=file.c" } } + } + default { + run_dump_test "file" + } + } + run_dump_test "group0a" + run_dump_test "group0b" + run_dump_test "group1a" + run_dump_test "group1b" + run_dump_test "groupautoa" + run_dump_test "groupautob" case $target_triplet in { { alpha*-*-* } { } { cr16*-*-* } { } @@ -97,6 +119,7 @@ if { ([istarget "*-*-*elf*"] { mn10200-*-* } { } { mn10300-*-* } { } { *c54x*-*-* } { } + { rx-*-* } { } default { # The next test can fail if the target does not convert fixups # against ordinary symbols into relocations against section symbols. @@ -106,15 +129,46 @@ if { ([istarget "*-*-*elf*"] run_dump_test equ-reloc } } - run_dump_test "section0" - run_dump_test "section1" - run_elf_list_test "section2" "$target_machine" "-al" "-s" "" - run_dump_test "section3" + run_dump_test "pseudo" + run_dump_test "section0" + run_dump_test "section1" + if {! [istarget "h8300-*-*"]} then { + # The h8300 port issues a warning message for + # new sections created without atrributes. + run_elf_list_test "section2" "$target_machine" "-al" "-s" "" + } + run_dump_test "section3" run_dump_test "section4" - run_elf_list_test "section5" "" "-al" "-SW" "| grep \" \\\\.test\\\[0-9\\\]\"" - run_dump_test "struct" - run_dump_test "symver" - run_elf_list_test "type" "" "" "-s" "| grep \"1 \\\[FIONTC\\\]\"" - run_dump_test "section6" - run_dump_test "section7" + if {! [istarget "h8300-*-*"]} then { + # The h8300 port issues a warning message for + # new sections created without atrributes. + run_elf_list_test "section5" "" "-al" "-SW" "| grep \" \\\\.test\\\[0-9\\\]\"" + } + run_dump_test "struct" + if { ![istarget "alpha*-*-*"] } then { + # The alpha port uses .set for state, e.g. nomacro. + run_dump_test "symtab" + } + run_dump_test "symver" + + # The MSP port sets the ELF header's OSABI field to ELFOSABI_STANDALONE. + # The non-eabi ARM ports sets it to ELFOSABI_ARM. + # So for these targets we cannot include an IFUNC symbol type + # in the symbol type test. + if { [istarget "msp*-*-*"] + || [istarget "arm*-*-*"] + || [istarget "xscale*-*-*"]} then { + run_elf_list_test "type-noifunc" "" "" "-s" "| grep \"1 *\\\[FONTC\\\]\"" + } else { + run_dump_test ifunc-1 + run_elf_list_test "type" "" "" "-s" "| grep \"1 *\\\[FIONTCU\\\]\"" + } + + run_dump_test "section6" + run_dump_test "section7" + run_dump_test "section8" + run_dump_test "dwarf2-1" + run_dump_test "dwarf2-2" + run_dump_test "dwarf2-3" + run_dump_test "bad-section-flag" }