-# Copyright (C) 2012-2017 Free Software Foundation, Inc.
+# Copyright (C) 2012-2018 Free Software Foundation, Inc.
# 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
if { ![istarget alpha*-*-*vms*]
&& ![istarget am3*-*-*]
&& ![istarget avr-*-*]
+ && ![istarget ft32-*-*]
&& ![istarget hppa*-*-*]
&& ![istarget microblaze-*-*]
&& ![istarget mn10300-*-*]
&& ![istarget msp430*-*-*]
+ && ![istarget riscv*-*-*]
&& ![istarget rl78-*-*]
&& ![istarget rx-*-*] } then {
gas_test_error "diff1.s" "" "difference of two undefined symbols"
gas_test_error "equiv1.s" "" ".equiv for symbol already set to another one"
gas_test_error "equiv2.s" "" ".equiv for symbol already set to an expression"
+gas_test_error "none.s" "-o $srcdir/$subdir/none.s" "Output file must be distinct from input"
+
# .equ works differently on some targets.
case $target_triplet in {
{ hppa*-*-* } { }
# .equ works differently on some targets.
# linkrelax-ing prevents most forward references from working.
case $target_triplet in {
+ { am3*-*-* } { }
{ *c54x*-*-* } { }
{ cr16*-*-* } { }
{ crx*-*-* } { }
default {
# Some targets don't manage to resolve BFD_RELOC_8 for constants.
setup_xfail "alpha*-*-*" "*c30*-*-*" "*c4x*-*-*" \
- "d\[13\]0v*-*-*" "i860-*-*" \
- "nds32*-*-*" "pdp11-*-*" "xtensa*-*-*"
+ "d\[13\]0v*-*-*" \
+ "pdp11-*-*" "xtensa*-*-*"
run_dump_test forward
}
}
# pdp11 gets unexpected reloc types.
case $target_triplet in {
{ alpha*-*-* } { }
+ { am3*-*-* } { }
{ cr16*-*-* } { }
{ crx*-*-* } { }
{ h8300-*-* } { }
{ z80-*-* } { }
default {
run_dump_test redef
- setup_xfail "arm-epoc-pe*"
# These targets fail redef2 because they disallow redefined
# symbols on relocs.
setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*" "rl78-*-*"
setup_xfail "riscv*-*-*" "rx-*-*" "vax*-*-*" "xgate*-*-*" "z8k-*-*"
# rs6000-aix disallows redefinition via .comm.
setup_xfail "*-*-aix*"
- # SOM uses a different syntax for .comm
- setup_xfail "hppa*-*-hpux*"
# These targets fail redef3 because section contents for the
# word referencing the .comm sym is not zero and/or its reloc
# has a non-zero addend. Relaxing the test would hide real
&& ![istarget *c54x*-*-*]
&& ![istarget cr16*-*-*]
&& ![istarget crx*-*-*]
+ && ![istarget ft32-*-*]
&& ![istarget h8300*-*-*]
&& ![istarget hppa*-*-*] } then {
# The vax fails because VMS can apparently actually handle this
# case in relocs, so gas doesn't handle it itself.
# msp430, mn10[23]00 and riscv emit two relocs to handle the difference of two symbols.
- setup_xfail "mn10200-*-*" "mn10300*-*-*" "msp430*-*-*" "riscv*-*-*" "vax*-*-vms*"
+ setup_xfail "am3*-*-*" "mn10200-*-*" "mn10300*-*-*" "msp430*-*-*" "riscv*-*-*" "vax*-*-vms*"
do_930509a
}
|| [istarget i*86-*-cygwin*] \
|| [istarget x86_64-*-mingw*] \
|| [istarget i*86-*-*nt] \
- || [istarget i*86-*-interix*] \
- || ([istarget i960-*-vxworks5.*] && ![istarget i960-*-vxworks5.0*]) } {
+ || [istarget i*86-*-interix*] } {
run_dump_test cofftag
}
run_dump_test sleb128
run_dump_test sleb128-2
run_dump_test sleb128-3
-setup_xfail "nds32*-*-*"
run_dump_test sleb128-4
run_dump_test sleb128-5
# .byte is not 8 bits on either tic4x or tic54x
if { ![istarget "tic4x*-*-*"] && ![istarget "tic54x*-*-*"] } {
run_dump_test sleb128-7
+ run_dump_test sleb128-8
}
-run_dump_test sleb128-8
+run_dump_test sleb128-9
# .byte is 32 bits on tic4x, and .p2align isn't supported on tic54x
# .space is different on hppa*-hpux.
run_dump_test byte
}
-# .quad is 16 bytes on i960.
-if { ![istarget "i960-*-*"] } {
- run_dump_test quad
-}
-
-# som doesn't use .data section.
-case $target_triplet in {
- { hppa*64*-*-* } {
- run_dump_test octa
- }
- { hppa*-*-hpux* } { }
- default {
- run_dump_test octa
- }
-}
+run_dump_test quad
+run_dump_test octa
# .set works differently on some targets.
case $target_triplet in {
dg-init
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/err-*.s $srcdir/$subdir/warn-*.s]] "" ""
dg-finish
+
+# Set $nop_type appropriately to indicate the NOP instruction mnemonic.
+case $target_triplet in {
+ { "mmix-*-*" } {
+ set nop_type 5
+ }
+ { "or1k*-*-*" } {
+ set nop_type 2
+ }
+ { "ia64-*-*" } {
+ set nop_type 1
+ }
+ default {
+ set nop_type 0
+ }
+}
+run_dump_test "org-1" [list [list as "--defsym nop_type=$nop_type"]]
+run_dump_test "org-2"
+run_dump_test "org-3"
+run_dump_test "org-4"
+run_dump_test "org-5"
+run_dump_test "org-6"
+
+run_dump_test "fill-1"