diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2015-05-10 01:02:31 +0300 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2015-05-13 19:25:52 +0300 |
commit | dc58915f3af581f32d575acd37e0cfe047c7990b (patch) | |
tree | ca8a59e14822ea7f37be8a14a0bfa4992dd24f64 /gas/testsuite | |
parent | 242cd84c933640b7cc82b9783d5ebb1d963e1c0d (diff) | |
download | fsf-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/ChangeLog | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/xtensa/trampoline.s | 10 |
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 |