binutils-gdb/gas/config
Max Filippov d92b6eece4 Fix trampolines search code for conditional branches
For conditional branches that need more than one trampoline to reach its
target assembler couldn't always find suitable trampoline because
post-loop condition check was placed inside the loop, resulting in
premature loop termination. Move check outside the loop.

This fixes the following build errors seen when assembling huge files
produced by gcc:
    Error: jump target out of range; no usable trampoline found
    Error: operand 1 of 'j' has out of range value '307307'

2014-11-25  Max Filippov  <jcmvbkbc@gmail.com>

gas/
	* config/tc-xtensa.c (search_trampolines): Move post-loop
	condition check outside the search loop.

gas/testsuite/
	* gas/xtensa/trampoline.d: Add expected output for branches.
	* gas/xtensa/trampoline.s: Add test case for branches.
2014-11-26 00:17:36 +03:00
..
aout_gnu.h Update copyright years 2014-03-05 22:16:15 +10:30
atof-ieee.c Update copyright years 2014-03-05 22:16:15 +10:30
atof-vax.c Update copyright years 2014-03-05 22:16:15 +10:30
bfin-aux.h Update copyright years 2014-03-05 22:16:15 +10:30
bfin-defs.h Update copyright years 2014-03-05 22:16:15 +10:30
bfin-lex-wrapper.c Update copyright years 2014-03-05 22:16:15 +10:30
bfin-lex.l Update copyright years 2014-03-05 22:16:15 +10:30
bfin-parse.y Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
e-crisaout.c Update copyright years 2014-03-05 22:16:15 +10:30
e-criself.c Update copyright years 2014-03-05 22:16:15 +10:30
e-i386aout.c Update copyright years 2014-03-05 22:16:15 +10:30
e-i386coff.c Update copyright years 2014-03-05 22:16:15 +10:30
e-i386elf.c Update copyright years 2014-03-05 22:16:15 +10:30
e-mipself.c Update copyright years 2014-03-05 22:16:15 +10:30
itbl-mips.h Update copyright years 2014-03-05 22:16:15 +10:30
m68k-parse.h Update copyright years 2014-03-05 22:16:15 +10:30
m68k-parse.y Don't use register keyword 2014-11-04 22:40:45 +10:30
obj-aout.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
obj-aout.h Update copyright years 2014-03-05 22:16:15 +10:30
obj-coff-seh.c This patch adds a new pseudo-op - .seh_code - to structured exception handling 2014-03-25 16:50:10 +00:00
obj-coff-seh.h This patch adds a new pseudo-op - .seh_code - to structured exception handling 2014-03-25 16:50:10 +00:00
obj-coff.c More fixes for memory access violations whilst scanning corrupt binaries. 2014-11-13 17:46:11 +00:00
obj-coff.h Remove support for the (deprecated) openrisc and or32 configurations and replace 2014-04-22 15:57:47 +01:00
obj-ecoff.c Update copyright years 2014-03-05 22:16:15 +10:30
obj-ecoff.h Update copyright years 2014-03-05 22:16:15 +10:30
obj-elf.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
obj-elf.h gas/ 2014-05-20 19:02:41 +01:00
obj-evax.c Update copyright years 2014-03-05 22:16:15 +10:30
obj-evax.h Update copyright years 2014-03-05 22:16:15 +10:30
obj-fdpicelf.c Update copyright years 2014-03-05 22:16:15 +10:30
obj-fdpicelf.h Update copyright years 2014-03-05 22:16:15 +10:30
obj-macho.c Avoid cascading errors due to write_object_file change 2014-06-28 00:20:14 +09:30
obj-macho.h Update copyright years 2014-03-05 22:16:15 +10:30
obj-multi.c Update copyright years 2014-03-05 22:16:15 +10:30
obj-multi.h Update copyright years 2014-03-05 22:16:15 +10:30
obj-som.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
obj-som.h Update copyright years 2014-03-05 22:16:15 +10:30
rl78-defs.h Add opcode relaxation for rl78-elf 2014-03-20 17:56:01 -04:00
rl78-parse.y Add opcode relaxation for rl78-elf 2014-03-20 17:56:01 -04:00
rx-defs.h Update copyright years 2014-03-05 22:16:15 +10:30
rx-parse.y [rx] Make .B suffix optional when possible. 2014-06-18 17:16:30 -04:00
tc-aarch64.c [AArch64] Fix mis-detection of unpredictable load/store operations with FP regs. 2014-11-20 15:28:52 +00:00
tc-aarch64.h Remove the artificial limit on code alignment through the use of the 2014-10-30 10:53:09 +00:00
tc-alpha.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-alpha.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-arc.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-arc.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-arm.c Calculate ARM arch attribute after relaxation 2014-11-21 11:54:39 +08:00
tc-arm.h Calculate ARM arch attribute after relaxation 2014-11-21 11:54:39 +08:00
tc-avr.c Adds support for writing values to AVR system I/O registers. 2014-07-07 16:15:19 +01:00
tc-avr.h bfd/ChangeLog 2014-04-10 19:50:33 +04:00
tc-bfin.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-bfin.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-cr16.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-cr16.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-cris.c GAS: Fix CRIS double-error reports caused by recent generic GAS changes. 2014-06-17 00:56:01 +02:00
tc-cris.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-crx.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-crx.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-d10v.c Use frag_now_fix_octets in gas d10v, d30v 2014-11-04 22:40:44 +10:30
tc-d10v.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-d30v.c Use frag_now_fix_octets in gas d10v, d30v 2014-11-04 22:40:44 +10:30
tc-d30v.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-dlx.c Don't leave DLX the_insn uninitialised 2014-06-16 12:33:42 +09:30
tc-dlx.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-epiphany.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-epiphany.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-fr30.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-fr30.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-frv.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-frv.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-generic.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-generic.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-h8300.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-h8300.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-hppa.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-hppa.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-i370.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-i370.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-i386-intel.c Add -z bndplt to generate BND prefix in PLT entries 2014-11-18 05:40:17 -08:00
tc-i386.c Add -z bndplt to generate BND prefix in PLT entries 2014-11-18 05:40:17 -08:00
tc-i386.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-i860.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-i860.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-i960.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
tc-i960.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-ia64.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-ia64.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-ip2k.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-ip2k.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-iq2000.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-iq2000.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-lm32.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-lm32.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-m32c.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-m32c.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-m32r.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-m32r.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-m68hc11.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-m68hc11.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-m68k.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-m68k.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-m68851.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-mcore.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-mcore.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-mep.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-mep.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-metag.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-metag.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-microblaze.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-microblaze.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-mips.c Update .MIPS.abiflags to support MIPS R6 2014-11-05 10:48:38 +00:00
tc-mips.h Implement CONVERT_SYMBOLIC_ATTRIBUTE for MIPS. 2014-05-08 15:09:35 +01:00
tc-mmix.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
tc-mmix.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-mn10200.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-mn10200.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-mn10300.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-mn10300.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-moxie.c Add moxiebox target 2014-07-27 08:51:20 -04:00
tc-moxie.h 2014-08-26 Jan-Benedict Glaw <jbglaw@lug-owl.de> 2014-08-26 10:36:09 +02:00
tc-msp430.c Fixes a snafu checking the size of 20-bit immedaite values. 2014-11-03 11:15:53 +00:00
tc-msp430.h This patch enhances the MSP430 port of GAS so that, if requested, it will 2014-03-03 17:27:55 +00:00
tc-mt.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-mt.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-nds32.c NDS32: Code refactoring of relaxation. 2014-09-16 13:08:00 +08:00
tc-nds32.h NDS32: Code refactoring of relaxation. 2014-09-16 13:08:00 +08:00
tc-nios2.c Add mach parameter to nios2_find_opcode_hash. 2014-11-06 13:12:21 -08:00
tc-nios2.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-ns32k.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-ns32k.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-or1k.c Remove support for the (deprecated) openrisc and or32 configurations and replace 2014-04-22 15:57:47 +01:00
tc-or1k.h Remove support for the (deprecated) openrisc and or32 configurations and replace 2014-04-22 15:57:47 +01:00
tc-pdp11.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-pdp11.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-pj.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-pj.h Fix various warnings seen when using gcc-5.0 2014-09-22 19:01:25 +09:30
tc-ppc.c Power/GAS: Don't set VLE annotation for non-VLE processors/instructions 2014-08-22 16:52:20 +01:00
tc-ppc.h ppc476 gas warn on data in code sections 2014-04-09 14:30:38 +09:30
tc-rl78.c This fixes the processing of BFD_RELOC_RL78_DIFF fixups when the size is less 2014-08-18 17:34:03 +01:00
tc-rl78.h Fix a few more targets affected by the change to the TC_CONS_FIX_NEW macro. 2014-04-09 14:05:58 +01:00
tc-rx.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
tc-rx.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-s390.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-s390.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-score.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
tc-score.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-score7.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
tc-sh.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-sh.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-sh64.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-sh64.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-sparc.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-sparc.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-spu.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-spu.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-tic4x.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-tic4x.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-tic6x.c Fix unintitialised TIC6X data 2014-06-16 12:31:53 +09:30
tc-tic6x.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-tic30.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-tic30.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-tic54x.c Fix TIC54X buffer overruns 2014-06-16 12:30:53 +09:30
tc-tic54x.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-tilegx.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-tilegx.h Fix more fallout from TC_CONS_FIX_NEW change 2014-04-16 23:00:29 +09:30
tc-tilepro.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-tilepro.h Fix more fallout from TC_CONS_FIX_NEW change 2014-04-16 23:00:29 +09:30
tc-v850.c Prevent the V850 assembler from generating an internal error if it is asked to 2014-05-17 17:48:44 +01:00
tc-v850.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-vax.c Fix uninitialised VAX insn 2014-06-16 12:29:52 +09:30
tc-vax.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-xc16x.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-xc16x.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-xgate.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-xgate.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-xstormy16.c gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-xstormy16.h gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW 2014-04-09 14:29:05 +09:30
tc-xtensa.c Fix trampolines search code for conditional branches 2014-11-26 00:17:36 +03:00
tc-xtensa.h Add support to the Xtensa target for creating trampolines for out-of-range branches. 2014-03-21 11:53:42 +00:00
tc-z8k.c Update copyright years 2014-03-05 22:16:15 +10:30
tc-z8k.h Update copyright years 2014-03-05 22:16:15 +10:30
tc-z80.c Fix z80-coff build breakage 2014-11-12 15:05:30 +10:30
tc-z80.h Fix a few more targets affected by the change to the TC_CONS_FIX_NEW macro. 2014-04-09 14:05:58 +01:00
te-386bsd.h Update copyright years 2014-03-05 22:16:15 +10:30
te-aix5.h Update copyright years 2014-03-05 22:16:15 +10:30
te-armeabi.h Update copyright years 2014-03-05 22:16:15 +10:30
te-armfbsdeabi.h This patch adds support for FreeBSD ARM in gas. 2014-08-19 15:51:43 +01:00
te-armfbsdvfp.h This patch adds support for FreeBSD ARM in gas. 2014-08-19 15:51:43 +01:00
te-armlinuxeabi.h Update copyright years 2014-03-05 22:16:15 +10:30
te-dragonfly.h Update copyright years 2014-03-05 22:16:15 +10:30
te-dynix.h Update copyright years 2014-03-05 22:16:15 +10:30
te-epoc-pe.h Update copyright years 2014-03-05 22:16:15 +10:30
te-freebsd.h Update copyright years 2014-03-05 22:16:15 +10:30
te-generic.h Update copyright years 2014-03-05 22:16:15 +10:30
te-gnu.h Update copyright years 2014-03-05 22:16:15 +10:30
te-go32.h Update copyright years 2014-03-05 22:16:15 +10:30
te-hppa.h Update copyright years 2014-03-05 22:16:15 +10:30
te-hppa64.h Update copyright years 2014-03-05 22:16:15 +10:30
te-hppalinux64.h Update copyright years 2014-03-05 22:16:15 +10:30
te-hpux.h Update copyright years 2014-03-05 22:16:15 +10:30
te-i386aix.h Update copyright years 2014-03-05 22:16:15 +10:30
te-ia64aix.h Update copyright years 2014-03-05 22:16:15 +10:30
te-interix.h Update copyright years 2014-03-05 22:16:15 +10:30
te-irix.h Update copyright years 2014-03-05 22:16:15 +10:30
te-linux.h Update copyright years 2014-03-05 22:16:15 +10:30
te-lynx.h Update copyright years 2014-03-05 22:16:15 +10:30
te-mach.h Update copyright years 2014-03-05 22:16:15 +10:30
te-macos.h Update copyright years 2014-03-05 22:16:15 +10:30
te-nacl.h Update copyright years 2014-03-05 22:16:15 +10:30
te-nbsd.h Update copyright years 2014-03-05 22:16:15 +10:30
te-nbsd532.h Update copyright years 2014-03-05 22:16:15 +10:30
te-netware.h Update copyright years 2014-03-05 22:16:15 +10:30
te-pc532mach.h Update copyright years 2014-03-05 22:16:15 +10:30
te-pe.h Update copyright years 2014-03-05 22:16:15 +10:30
te-pep.h Update copyright years 2014-03-05 22:16:15 +10:30
te-psos.h Update copyright years 2014-03-05 22:16:15 +10:30
te-riscix.h Update copyright years 2014-03-05 22:16:15 +10:30
te-solaris.h Update copyright years 2014-03-05 22:16:15 +10:30
te-sparcaout.h Update copyright years 2014-03-05 22:16:15 +10:30
te-sun3.h Update copyright years 2014-03-05 22:16:15 +10:30
te-svr4.h Update copyright years 2014-03-05 22:16:15 +10:30
te-symbian.h Update copyright years 2014-03-05 22:16:15 +10:30
te-tmips.h Update copyright years 2014-03-05 22:16:15 +10:30
te-uclinux.h Update copyright years 2014-03-05 22:16:15 +10:30
te-vms.c Update copyright years 2014-03-05 22:16:15 +10:30
te-vms.h Update copyright years 2014-03-05 22:16:15 +10:30
te-vxworks.h Update copyright years 2014-03-05 22:16:15 +10:30
te-wince-pe.h Update copyright years 2014-03-05 22:16:15 +10:30
vax-inst.h Update copyright years 2014-03-05 22:16:15 +10:30
xtensa-istack.h Update copyright years 2014-03-05 22:16:15 +10:30
xtensa-relax.c Update copyright years 2014-03-05 22:16:15 +10:30
xtensa-relax.h Update copyright years 2014-03-05 22:16:15 +10:30