xtensa: fix gas trampolines regression
authorMax Filippov <jcmvbkbc@gmail.com>
Sat, 9 May 2015 22:02:31 +0000 (01:02 +0300)
committerMax Filippov <jcmvbkbc@gmail.com>
Wed, 13 May 2015 16:25:52 +0000 (19:25 +0300)
commitdc58915f3af581f32d575acd37e0cfe047c7990b
treeca8a59e14822ea7f37be8a14a0bfa4992dd24f64
parent242cd84c933640b7cc82b9783d5ebb1d963e1c0d
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.
gas/ChangeLog
gas/config/tc-xtensa.c
gas/testsuite/ChangeLog
gas/testsuite/gas/xtensa/trampoline.s