blob: 682bc4b3a40a5de07dcc45839734aa92ac336708 [file] [log] [blame]
#
# vtable tests
#
proc run_list_test { name opts } {
global srcdir subdir
set testname "vtable $name"
set file $srcdir/$subdir/$name
gas_run ${name}.s $opts ">&dump.out"
if { [regexp_diff "dump.out" "${file}.l"] } then {
fail $testname
verbose "output is [file_contents "dump.out"]" 2
return
}
pass $testname
}
# Vtable bits are only supported by ELF targets.
if { ( [istarget "*-*-elf*"] || [istarget "*-*-linux*"])
&& ![istarget *-*-linux*aout*]
&& ![istarget *-*-linux*oldld*] } then {
# These tests are not (yet) supported on some targets.
if { [istarget "ia64-*"]
|| [istarget "hppa*64*-*-*"]
|| [istarget "i960-*-*"]
|| [istarget "arc*-*-*"]
|| [istarget "alpha*-*-*"]
|| [istarget "sparc64*-*-*"]
|| [istarget "d30v-*-*"] } then {
return
}
# not yet supported by ARC
if {[istarget "arc*-*-*"]} {
return
}
run_dump_test "inherit0"
run_list_test "inherit1" "-al"
# The vtable entry results are different on Rel and Rela targets.
if {[istarget "i*86-*-*"]
|| [istarget "d10v-*-*"]
|| [istarget "mips*-*-*"]
|| [istarget "strongarm*-*-*"]
|| [istarget "xscale*-*-*"]
|| [istarget "arm*-*-*"] } then {
run_dump_test "entry0"
} else {
run_dump_test "entry1"
}
}