* gas/elf/elf.exp: Use is_elf_format.
* gas/symver/symver.exp: Likewise.
* gas/m68hc11/m68hc11.exp: Simplify target test.
Add -m68hc11 to error tests that pass for hc12.
+2012-02-13 Alan Modra <amodra@gmail.com>
+
+ * gas/all/gas.exp (redef2): xfail m6811 and m6812.
+ * gas/elf/elf.exp: Use is_elf_format.
+ * gas/symver/symver.exp: Likewise.
+ * gas/m68hc11/m68hc11.exp: Simplify target test.
+ Add -m68hc11 to error tests that pass for hc12.
+
2012-02-11 Kai Tietz <ktietz@redhat.com>
- * gas/i386/disp32.d: Adjust lable-pattern.
+ * gas/i386/disp32.d: Adjust label pattern.
2012-02-08 Kai Tietz <ktietz@redhat.com>
run_dump_test redef
# These targets fail redef2 because they disallow redefined
# symbols on relocs.
- setup_xfail "m68hc*-*-*" "rx-*-*" "vax*-*-*" "z8k-*-*"
+ setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*"
+ setup_xfail "rx-*-*" "vax*-*-*" "z8k-*-*"
run_dump_test redef2
- setup_xfail "m68hc*-*-*" "rx-*-*" "vax*-*-*" "z8k-*-*"
+ setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*"
+ setup_xfail "rx-*-*" "vax*-*-*" "z8k-*-*"
# rs6000-aix disallows redefinition via .comm.
setup_xfail "*-*-aix*"
# SOM uses a different syntax for .comm
}
# We're testing bits in obj-elf -- don't run on anything else.
-if { ([istarget "*-*-*elf*"]
- || [istarget "*-*-linux*"]
- || [istarget "*-*-gnu*"]
- || [istarget "m6811-*"]
- || [istarget "m6812-*"]
- || [istarget "sparc*-*-solaris*"]
- || [istarget "mips*-*-irix6*"]
- || [istarget "arm*-*-eabi"])
- && ![istarget *-*-linux*aout*]
- && ![istarget *-*-linux*coff*]
- && ![istarget *-*-linux*oldld*]
- && ![istarget sh64*-*-linux*]
-} then {
+if { [is_elf_format] } then {
set target_machine ""
if {[istarget "mips*-*-*"]} then {
set target_machine -mips
run_dump_test "group0c"
run_dump_test "group1a"
run_dump_test "group1b"
- run_dump_test "groupautoa"
case $target_triplet in {
+ { hppa64*-*-hpux* } { }
+ default {
+ run_dump_test "groupautoa"
+ }
+ case $target_triplet in {
+ { hppa64*-*-hpux* } { }
{ xtensa*-*-* } { }
default {
run_dump_test "groupautob"
}
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*-*-*"]} then {
- run_elf_list_test "type-noifunc" "" "" "-s" "| grep \"1 *\\\[FONTC\\\]\""
+ if { [istarget "hppa*-*-hpux*"] } then {
+ # No indirect functions on non-GNU targets.
} else {
+ # 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*-*-*"]} 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"
#
# Some generic m68HC11 tests
#
-if ![istarget "m68hc11-*-*"] then {
- if ![istarget "m6811-*-*"] then {
- if ![istarget "m68hc12-*-*"] then {
- if ![istarget "m6812-*-*"] then {
- return
- }
- }
- }
+if { ![istarget "m68hc1*-*-*"]
+ && ![istarget "m6811-*-*"]
+ && ![istarget "m6812-*-*"] } then {
+ return
}
# Simple test for --print-opcodes (list of supported opcodes)
# ------------------
# 68HC11 error tests
-gas_m68hc11_error "" "puld\n" "Opcode .puld. is not recognized"
+gas_m68hc11_error "-m68hc11" "puld\n" "Opcode .puld. is not recognized"
gas_m68hc11_error "" "ldab\n" "Invalid operand for .ldab."
-gas_m68hc11_error "" "ldab 256,x\n" "Operand out of 8-bit range:.*256"
-gas_m68hc11_error "" "ldab 257,y\n" "Operand out of 8-bit range:.*257"
-gas_m68hc11_error "" "ldab -1,y\n" "Operand out of 8-bit range:.*-1"
-gas_m68hc11_error "" "ldab bar,y\nbar=300" "value of 300 too large for field of 1 byte"
+gas_m68hc11_error "-m68hc11" "ldab 256,x\n" "Operand out of 8-bit range:.*256"
+gas_m68hc11_error "-m68hc11" "ldab 257,y\n" "Operand out of 8-bit range:.*257"
+gas_m68hc11_error "-m68hc11" "ldab -1,y\n" "Operand out of 8-bit range:.*-1"
+gas_m68hc11_error "-m68hc11" "ldab bar,y\nbar=300" "value of 300 too large for field of 1 byte"
gas_m68hc11_error "" "jmp \#23\n" "Immediate operand is not allowed"
-gas_m68hc11_error "" "ldab \[d,pc\]\n" "Indirect indexed addressing is not valid for 68HC11"
+gas_m68hc11_error "-m68hc11" "ldab \[d,pc\]\n" "Indirect indexed addressing is not valid for 68HC11"
gas_m68hc11_error "" "ldab ,t\n" "Spurious .,. or bad indirect register"
gas_m68hc11_error "" "ldab 1,t\n" "Garbage at end of instruction:.*,t"
gas_m68hc11_error "" "ldab 1,,x\n" "Garbage at end of instruction:.*,x"
-gas_m68hc11_error "" "ldab 1,+x\n" "Pre-increment mode is not valid"
-gas_m68hc11_error "" "ldab 1,-x\n" "Pre-increment mode is not valid"
-gas_m68hc11_error "" "ldab 1,x+\n" "Post-increment mode is not valid"
-gas_m68hc11_error "" "ldab 1,x-\n" "Post-decrement mode is not valid"
+gas_m68hc11_error "-m68hc11" "ldab 1,+x\n" "Pre-increment mode is not valid"
+gas_m68hc11_error "-m68hc11" "ldab 1,-x\n" "Pre-increment mode is not valid"
+gas_m68hc11_error "-m68hc11" "ldab 1,x+\n" "Post-increment mode is not valid"
+gas_m68hc11_error "-m68hc11" "ldab 1,x-\n" "Post-decrement mode is not valid"
gas_m68hc11_error "" "ldd \#65536\n" "Operand out of 16-bit range"
gas_m68hc11_error "--short-branchs" "bne 200\n" \
"Operand out of range for a relative branch"
}
# symver is only supported by ELF targets.
-if { ([istarget "*-*-elf*"]
- || [istarget "m6811-*"]
- || [istarget "m6812-*"]
- || [istarget "*-*-linux*"]
- || [istarget "*-*-gnu*"])
- && ![istarget *-*-linux*aout*]
- && ![istarget *-*-linux*oldld*] } then {
+if { [is_elf_format] } then {
if {[istarget "ia64-*"]} then {
return