aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-xtensa.c3
-rw-r--r--gas/testsuite/ChangeLog4
-rw-r--r--gas/testsuite/gas/xtensa/trampoline.s10
4 files changed, 20 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 4877538..683a30e 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-13 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (xtensa_relax_frag): Allow trampoline to be
+ closer than J_RANGE / 2 to jump frag.
+
2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
* configure.tgt (arch): Set to iamcu for i386-*-elfiamcu target.
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index b1827fa..31c0b6b 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -9071,8 +9071,7 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
trampaddr = fragP->fr_address + fragP->fr_fix;
- if ((addr + J_RANGE < trampaddr) ||
- abs (addr - trampaddr) < J_RANGE / 2)
+ if (addr + J_RANGE < trampaddr)
continue;
if (addr > trampaddr + J_RANGE)
break;
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