aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog18
-rw-r--r--gas/testsuite/gas/xtensa/all.exp99
-rw-r--r--gas/testsuite/gas/xtensa/entry_align.d3
-rw-r--r--gas/testsuite/gas/xtensa/entry_align.l2
-rw-r--r--gas/testsuite/gas/xtensa/entry_misalign.d7
-rw-r--r--gas/testsuite/gas/xtensa/entry_misalign2.d7
-rw-r--r--gas/testsuite/gas/xtensa/j_too_far.d3
-rw-r--r--gas/testsuite/gas/xtensa/j_too_far.l2
-rw-r--r--gas/testsuite/gas/xtensa/loop_align.d7
-rw-r--r--gas/testsuite/gas/xtensa/loop_misalign.d7
-rw-r--r--gas/testsuite/gas/xtensa/trampoline-2.d4
-rw-r--r--gas/testsuite/gas/xtensa/trampoline-2.l1
-rw-r--r--gas/testsuite/gas/xtensa/xtensa-err.exp8
13 files changed, 63 insertions, 105 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 52dd5f3..c41be94 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,23 @@
2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
+ * testsuite/gas/xtensa/all.exp: Remove all expect-based
+ tests and all explicit run_dump_test / run_list_test
+ invocations. Add run_dump_tests for all .d files in the
+ test subdirectory.
+ * testsuite/gas/xtensa/entry_align.d: New test definition.
+ * testsuite/gas/xtensa/entry_align.l: New test output.
+ * testsuite/gas/xtensa/entry_misalign.d: New test definition.
+ * testsuite/gas/xtensa/entry_misalign2.d: New test definition.
+ * testsuite/gas/xtensa/j_too_far.d: New test definition.
+ * testsuite/gas/xtensa/j_too_far.l: New test output.
+ * testsuite/gas/xtensa/loop_align.d: New test definition.
+ * testsuite/gas/xtensa/loop_misalign.d: New test definition.
+ * testsuite/gas/xtensa/trampoline-2.d: New test definition.
+ * testsuite/gas/xtensa/trampoline-2.l: Remove empty output.
+ * testsuite/gas/xtensa/xtensa-err.exp: Use positive logic.
+
+2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
+
* config/tc-xtensa.c (xtensa_literal_pseudo): Drop code that has
no effect.
(get_literal_pool_location): Only search for the literal pool
diff --git a/gas/testsuite/gas/xtensa/all.exp b/gas/testsuite/gas/xtensa/all.exp
index 30784be..db1a623 100644
--- a/gas/testsuite/gas/xtensa/all.exp
+++ b/gas/testsuite/gas/xtensa/all.exp
@@ -17,101 +17,6 @@
#
# Some generic xtensa tests
#
-if [istarget xtensa*-*-*] then {
- gas_test_error "j_too_far.s" "" "Check for jump out of range error"
-
- set testname "j_too_far.s: error line number reporting"
- gas_start "j_too_far.s" ""
- set x1 0
- while 1 {
- expect {
- -re ":4: Error:.*out of range" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- gas_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
-
- gas_test "entry_misalign.s" "" "" "Xtensa Entry misalignment"
- set testname "entry_misalign.s: Force entry misalignment"
- objdump_start_no_subdir "a.out" "-d -j .text"
- set x1 0
- while 1 {
- expect {
- -re "^.*2:.*entry" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- objdump_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
-
- gas_test "entry_misalign2.s" "" "" "Xtensa Entry misalignment(2)"
- set testname "entry_misalign2.s: Force entry misalignment(2)"
- objdump_start_no_subdir "a.out" "-d -j .text"
- set x1 0
- while 1 {
- expect {
- -re "^.*2:.*entry" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- objdump_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
- gas_test_error "entry_align.s" "" "Xtensa entry alignment error"
-
- gas_test "loop_misalign.s" "" "" "Xtensa Loop misalignment"
- set testname "loop_misalign.s: Force loop misalignment"
- objdump_start_no_subdir "a.out" "-d -j .text"
- set x1 0
- while 1 {
- expect {
- -re "^.*0:.*loop" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- objdump_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
-
- gas_test "loop_align.s" "" "" "Xtensa autoalign loop"
- set testname "loop_align.s: autoalign loop"
- objdump_start_no_subdir "a.out" "-d -j .text"
- set x1 0
- while 1 {
- expect {
- -re "^.*2:.*loop" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- objdump_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
- run_dump_test "short_branch_offset"
- run_dump_test "pcrel"
- run_dump_test "weak-call"
- run_dump_test "jlong"
- run_dump_test "trampoline"
- run_list_test "trampoline-2"
- run_dump_test "first_frag_align"
- run_dump_test "auto-litpools"
- run_dump_test "auto-litpools-2"
- run_dump_test "auto-litpools-3"
- run_dump_test "auto-litpools-4"
- run_dump_test "auto-litpools-first1"
- run_dump_test "auto-litpools-first2"
- run_dump_test "loc"
- run_dump_test "init-fini-literals"
- run_dump_test "text-section-literals-1"
-}
-
-if [info exists errorInfo] then {
- unset errorInfo
+if [istarget xtensa*-*-*] {
+ run_dump_tests [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
}
diff --git a/gas/testsuite/gas/xtensa/entry_align.d b/gas/testsuite/gas/xtensa/entry_align.d
new file mode 100644
index 0000000..684e654
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/entry_align.d
@@ -0,0 +1,3 @@
+#as:
+#name: unaligned entry instruction
+#error_output: entry_align.l
diff --git a/gas/testsuite/gas/xtensa/entry_align.l b/gas/testsuite/gas/xtensa/entry_align.l
new file mode 100644
index 0000000..9bca67c
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/entry_align.l
@@ -0,0 +1,2 @@
+[^:]*: Assembler messages:
+[^:]*:3: Error: unaligned entry instruction
diff --git a/gas/testsuite/gas/xtensa/entry_misalign.d b/gas/testsuite/gas/xtensa/entry_misalign.d
new file mode 100644
index 0000000..aa79bd4
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/entry_misalign.d
@@ -0,0 +1,7 @@
+#as:
+#objdump: -d -j .text
+#name: force entry instruction misalignment
+
+#...
+^.*2:.*entry.*
+#...
diff --git a/gas/testsuite/gas/xtensa/entry_misalign2.d b/gas/testsuite/gas/xtensa/entry_misalign2.d
new file mode 100644
index 0000000..74664ef
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/entry_misalign2.d
@@ -0,0 +1,7 @@
+#as:
+#objdump: -d -j .text
+#name: entry instruction misalignment inside no-transform block
+
+#...
+^.*2:.*entry.*
+#...
diff --git a/gas/testsuite/gas/xtensa/j_too_far.d b/gas/testsuite/gas/xtensa/j_too_far.d
new file mode 100644
index 0000000..85007af
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/j_too_far.d
@@ -0,0 +1,3 @@
+#as:
+#name: jump to a target that is too far
+#error_output: j_too_far.l
diff --git a/gas/testsuite/gas/xtensa/j_too_far.l b/gas/testsuite/gas/xtensa/j_too_far.l
new file mode 100644
index 0000000..38d3c79
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/j_too_far.l
@@ -0,0 +1,2 @@
+[^:]*: Assembler messages:
+[^:]*:4: Error:.*operand 1 of 'j' has out of range value.*
diff --git a/gas/testsuite/gas/xtensa/loop_align.d b/gas/testsuite/gas/xtensa/loop_align.d
new file mode 100644
index 0000000..a4da096
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/loop_align.d
@@ -0,0 +1,7 @@
+#as:
+#objdump: -d -j .text
+#name: automatic loop alignment
+
+#...
+^.*2:.*loop.*
+#...
diff --git a/gas/testsuite/gas/xtensa/loop_misalign.d b/gas/testsuite/gas/xtensa/loop_misalign.d
new file mode 100644
index 0000000..88bddc2
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/loop_misalign.d
@@ -0,0 +1,7 @@
+#as:
+#objdump: -d -j .text
+#name: force loop misalignment
+
+#...
+^.*2:.*loop.*
+#...
diff --git a/gas/testsuite/gas/xtensa/trampoline-2.d b/gas/testsuite/gas/xtensa/trampoline-2.d
new file mode 100644
index 0000000..535dde7
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/trampoline-2.d
@@ -0,0 +1,4 @@
+#as:
+#readelf: -a
+
+#...
diff --git a/gas/testsuite/gas/xtensa/trampoline-2.l b/gas/testsuite/gas/xtensa/trampoline-2.l
deleted file mode 100644
index 36a0971..0000000
--- a/gas/testsuite/gas/xtensa/trampoline-2.l
+++ /dev/null
@@ -1 +0,0 @@
-# No warnings or errors expected!
diff --git a/gas/testsuite/gas/xtensa/xtensa-err.exp b/gas/testsuite/gas/xtensa/xtensa-err.exp
index 5a2ed68..f2937b8 100644
--- a/gas/testsuite/gas/xtensa/xtensa-err.exp
+++ b/gas/testsuite/gas/xtensa/xtensa-err.exp
@@ -14,11 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
-if { ! [istarget "xtensa*-*-*"] } {
- return
-}
-
-proc run_xtensa_err_tests { } {
+if [istarget xtensa*-*-*] {
global srcdir subdir runtests
load_lib gas-dg.exp
@@ -26,5 +22,3 @@ proc run_xtensa_err_tests { } {
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/err-*.s]] "" ""
dg-finish
}
-
-run_xtensa_err_tests