global srcdir
catch "exec $srcdir/lib/run $NM $NMFLAGS --help" nm_help
- return [regexp "targets:.*x86_64" $nm_help];
+ return [regexp "targets:.*x86-64" $nm_help];
}
+
proc gas_32_check { } {
global NM
global NMFLAGS
run_dump_test "naked"
run_dump_test "opcode"
run_dump_test "intel"
+ run_dump_test "intel16"
run_dump_test "prefix"
run_dump_test "amd"
run_dump_test "katmai"
run_dump_test "jump"
+ run_dump_test "ssemmx2"
+ run_dump_test "sse2"
+
+ # PIC is only supported on ELF targets.
+ if { ([istarget "*-*-elf*"] || [istarget "*-*-linux*"] )
+ && ![istarget *-*-linux*aout*]
+ && ![istarget *-*-linux*oldld*] } then {
+ run_dump_test "intelpic"
+ }
# These tests require support for 8 and 16 bit relocs,
# so we only run them for ELF and COFF targets.
run_dump_test "jump16"
run_list_test "white" "-al --listing-lhs-width=3"
}
+
+ # Do they only work for ELF?
+ if { ([istarget "*-*-elf*"]
+ || [istarget "*-*-linux*"]
+ && ![istarget *-*-linux*aout*]
+ && ![istarget *-*-linux*oldld*])
+ } then {
+ run_dump_test "relax"
+ run_dump_test "gotpc"
+ run_dump_test "tlsd"
+ run_dump_test "tlspic"
+ run_dump_test "tlsnopic"
+ }
+
set ASFLAGS "$old_ASFLAGS"
}
-if [istarget "x86_64-*-*"] then {
+
+if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] then {
global ASFLAGS
set old_ASFLAGS "$ASFLAGS"
set ASFLAGS "$ASFLAGS --64"
run_dump_test "x86_64"
+ run_dump_test "x86-64-opcode"
+ run_list_test "x86-64-inval" "-al"
set ASFLAGS "$old_ASFLAGS"
}