aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2015-05-10 01:02:31 +0300
committerMax Filippov <jcmvbkbc@gmail.com>2015-05-13 19:25:52 +0300
commitdc58915f3af581f32d575acd37e0cfe047c7990b (patch)
treeca8a59e14822ea7f37be8a14a0bfa4992dd24f64 /gas/testsuite
parent242cd84c933640b7cc82b9783d5ebb1d963e1c0d (diff)
downloadfsf-binutils-gdb-dc58915f3af581f32d575acd37e0cfe047c7990b.zip
fsf-binutils-gdb-dc58915f3af581f32d575acd37e0cfe047c7990b.tar.gz
fsf-binutils-gdb-dc58915f3af581f32d575acd37e0cfe047c7990b.tar.bz2
xtensa: fix gas trampolines regression
Extra condition 'abs (addr - trampaddr) < J_RANGE / 2' for trampoline selection results in regressions: when relaxable jump is little longer than J_RANGE so that single trampoline makes two new jumps, one longer than J_RANGE / 2 and one shorter, correct trampoline cannot be found. Drop that condition. 2015-05-13 Max Filippov <jcmvbkbc@gmail.com> gas/ * config/tc-xtensa.c (xtensa_relax_frag): Allow trampoline to be closer than J_RANGE / 2 to jump frag. gas/testsuite/ * gas/xtensa/trampoline.s: Add regression testcase.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog4
-rw-r--r--gas/testsuite/gas/xtensa/trampoline.s10
2 files changed, 14 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 793b329..5f3f43d 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2015-05-13 Max Filippov <jcmvbkbc@gmail.com>
+
+ * gas/xtensa/trampoline.s: Add regression testcase.
+
2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run iamcu-1, iamcu-2, iamcu-3, iamcu-inval-1,
diff --git a/gas/testsuite/gas/xtensa/trampoline.s b/gas/testsuite/gas/xtensa/trampoline.s
index 4465786..3cfbe97 100644
--- a/gas/testsuite/gas/xtensa/trampoline.s
+++ b/gas/testsuite/gas/xtensa/trampoline.s
@@ -26,3 +26,13 @@
.endr
4:
j 4b
+
+5:
+ j 6f
+
+ .rep 43691
+ _nop
+ .endr
+
+6:
+ j 5b