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
atof-ieee.c
atof-vax.c
bfin-aux.h
bfin-defs.h
bfin-lex-wrapper.c
bfin-lex.l
bfin-parse.y
e-crisaout.c
e-criself.c
e-i386aout.c
e-i386coff.c
e-i386elf.c
e-mipself.c
itbl-mips.h
m68k-parse.h
m68k-parse.y Don't use register keyword 2014-11-04 22:40:45 +10:30
obj-aout.c
obj-aout.h
obj-coff-seh.c
obj-coff-seh.h
obj-coff.c More fixes for memory access violations whilst scanning corrupt binaries. 2014-11-13 17:46:11 +00:00
obj-coff.h
obj-ecoff.c
obj-ecoff.h
obj-elf.c
obj-elf.h
obj-evax.c
obj-evax.h
obj-fdpicelf.c
obj-fdpicelf.h
obj-macho.c
obj-macho.h
obj-multi.c
obj-multi.h
obj-som.c
obj-som.h
rl78-defs.h
rl78-parse.y
rx-defs.h
rx-parse.y
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
tc-arc.c
tc-arc.h
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
tc-avr.h
tc-bfin.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-bfin.h
tc-cr16.c
tc-cr16.h
tc-cris.c
tc-cris.h
tc-crx.c
tc-crx.h
tc-d10v.c Use frag_now_fix_octets in gas d10v, d30v 2014-11-04 22:40:44 +10:30
tc-d10v.h
tc-d30v.c Use frag_now_fix_octets in gas d10v, d30v 2014-11-04 22:40:44 +10:30
tc-d30v.h
tc-dlx.c
tc-dlx.h
tc-epiphany.c
tc-epiphany.h
tc-fr30.c
tc-fr30.h
tc-frv.c
tc-frv.h
tc-generic.c
tc-generic.h
tc-h8300.c
tc-h8300.h
tc-hppa.c
tc-hppa.h
tc-i370.c
tc-i370.h
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
tc-i860.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-i860.h
tc-i960.c
tc-i960.h
tc-ia64.c
tc-ia64.h
tc-ip2k.c
tc-ip2k.h
tc-iq2000.c
tc-iq2000.h
tc-lm32.c
tc-lm32.h
tc-m32c.c
tc-m32c.h
tc-m32r.c
tc-m32r.h
tc-m68hc11.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-m68hc11.h
tc-m68k.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-m68k.h
tc-m68851.h
tc-mcore.c
tc-mcore.h
tc-mep.c
tc-mep.h
tc-metag.c
tc-metag.h
tc-microblaze.c
tc-microblaze.h
tc-mips.c Update .MIPS.abiflags to support MIPS R6 2014-11-05 10:48:38 +00:00
tc-mips.h
tc-mmix.c
tc-mmix.h
tc-mn10200.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-mn10200.h
tc-mn10300.c
tc-mn10300.h
tc-moxie.c
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
tc-mt.c
tc-mt.h
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
tc-ns32k.c
tc-ns32k.h
tc-or1k.c
tc-or1k.h
tc-pdp11.c
tc-pdp11.h
tc-pj.c
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
tc-rl78.c
tc-rl78.h
tc-rx.c
tc-rx.h
tc-s390.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-s390.h
tc-score7.c
tc-score.c
tc-score.h
tc-sh64.c
tc-sh64.h
tc-sh.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-sh.h
tc-sparc.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-sparc.h
tc-spu.c
tc-spu.h
tc-tic4x.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-tic4x.h
tc-tic6x.c
tc-tic6x.h
tc-tic30.c Don't use register keyword 2014-11-04 22:40:45 +10:30
tc-tic30.h
tc-tic54x.c
tc-tic54x.h
tc-tilegx.c
tc-tilegx.h
tc-tilepro.c
tc-tilepro.h
tc-v850.c
tc-v850.h
tc-vax.c
tc-vax.h
tc-xc16x.c
tc-xc16x.h
tc-xgate.c
tc-xgate.h
tc-xstormy16.c
tc-xstormy16.h
tc-xtensa.c Fix trampolines search code for conditional branches 2014-11-26 00:17:36 +03:00
tc-xtensa.h
tc-z8k.c
tc-z8k.h
tc-z80.c Fix z80-coff build breakage 2014-11-12 15:05:30 +10:30
tc-z80.h
te-386bsd.h
te-aix5.h
te-armeabi.h
te-armfbsdeabi.h
te-armfbsdvfp.h
te-armlinuxeabi.h
te-dragonfly.h
te-dynix.h
te-epoc-pe.h
te-freebsd.h
te-generic.h
te-gnu.h
te-go32.h
te-hppa64.h
te-hppa.h
te-hppalinux64.h
te-hpux.h
te-i386aix.h
te-ia64aix.h
te-interix.h
te-irix.h
te-linux.h
te-lynx.h
te-mach.h
te-macos.h
te-nacl.h
te-nbsd532.h
te-nbsd.h
te-netware.h
te-pc532mach.h
te-pe.h
te-pep.h
te-psos.h
te-riscix.h
te-solaris.h
te-sparcaout.h
te-sun3.h
te-svr4.h
te-symbian.h
te-tmips.h
te-uclinux.h
te-vms.c
te-vms.h
te-vxworks.h
te-wince-pe.h
vax-inst.h
xtensa-istack.h
xtensa-relax.c
xtensa-relax.h