binutils-gdb/gas/config
Max Filippov 4111950f36 xtensa: fix .init/.fini literals moving
Despite the documentation and the comment in xtensa_move_literals, in
the presence of --text-section-literals and --auto-litpools literals are
moved from the separate literal sections into .init and .fini, because
the check in the xtensa_move_literals is incorrect.

This moving was broken with introduction of auto litpools: some literals
now may be lost. This happens because literal frags emitted from .init
and .fini are not closed when new .literal_position marks new literal
pool. Then frag_align(2, 0, 0) changes type of the last literal frag to
rs_align. rs_align frags are skipped in the xtensa_move_literals. As a
result fixups against such literals are not moved out of .init.literal/
.fini.literal sections producing the following assembler error:

  test.S: Warning: fixes not all moved from .init.literal
  test.S: Internal error!

Fix check for .init.literal/.fini.literal in the xtensa_move_literals
and don't let it move literals from there in the presence of
--text-section-literals or --auto-litpools.

2016-02-17  Max Filippov  <jcmvbkbc@gmail.com>
gas/
	* config/tc-xtensa.c (xtensa_move_literals): Fix check for
	.init.literal/.fini.literal section name.
	* testsuite/gas/xtensa/all.exp: Add init-fini-literals to the
	list of xtensa tests.
	* testsuite/gas/xtensa/init-fini-literals.d: New file:
	init-fini-literals test result patterns.
	* testsuite/gas/xtensa/init-fini-literals.s: New file:
	init-fini-literals test.
2016-02-17 23:08:15 +03:00
..
aout_gnu.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
atof-ieee.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
atof-vax.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin-aux.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin-defs.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin-lex-wrapper.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin-lex.l Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin-parse.y Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-crisaout.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-criself.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-i386aout.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-i386coff.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-i386elf.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-mipself.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
itbl-mips.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68k-parse.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68k-parse.y Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-aout.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-aout.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-coff-seh.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-coff-seh.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-coff.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-coff.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-ecoff.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-ecoff.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-elf.c Enhance GAS's .section directive so that it can take numeric values for the flags and type fields. (ELF only) 2016-02-15 11:11:46 +00:00
obj-elf.h Enhance GAS's .section directive so that it can take numeric values for the flags and type fields. (ELF only) 2016-02-15 11:11:46 +00:00
obj-evax.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-evax.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-fdpicelf.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-fdpicelf.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-macho.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-macho.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-multi.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-multi.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-som.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-som.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
rl78-defs.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
rl78-parse.y Copyright update for binutils 2016-01-01 23:00:01 +10:30
rx-defs.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
rx-parse.y Correct opcode generated for RX indirect MOVs without an offset. 2016-02-15 16:34:34 +00:00
tc-aarch64.c [PR19620][GAS][AArch64]Remove mov[z,k,n] relocation symbol name restriction. 2016-02-16 10:04:41 +00:00
tc-aarch64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-alpha.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-alpha.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-arc.c [ARC] Enable .cfi_* pseudo-ops. 2016-02-16 15:56:04 +01:00
tc-arc.h [ARC] Enable .cfi_* pseudo-ops. 2016-02-16 15:56:04 +01:00
tc-arm.c Remove support for creating ARM NOREAD sections. 2016-02-04 11:57:57 +00:00
tc-arm.h Remove support for creating ARM NOREAD sections. 2016-02-04 11:57:57 +00:00
tc-avr.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-avr.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-bfin.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-bfin.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-cr16.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-cr16.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-cris.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-cris.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-crx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-crx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-d10v.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-d10v.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-d30v.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-d30v.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-dlx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-dlx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-epiphany.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-epiphany.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-fr30.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-fr30.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-frv.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-frv.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ft32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ft32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-generic.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-generic.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-h8300.c Remove spurious condition in test for closing parenthesis. 2016-01-13 17:47:34 +00:00
tc-h8300.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-hppa.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-hppa.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i370.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i370.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i386-intel.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i386.c Add -mrelax-relocations= to x86 assembler 2016-02-03 08:25:15 -08:00
tc-i386.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i860.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i860.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i960.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i960.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ia64.c FIx formatting that triggers a new compile time warning message. 2016-02-08 14:51:10 +00:00
tc-ia64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ip2k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ip2k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-iq2000.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-iq2000.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-lm32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-lm32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m32c.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m32c.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m32r.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m32r.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m68hc11.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m68hc11.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m68k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m68k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m68851.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mcore.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mcore.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mep.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mep.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-metag.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-metag.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-microblaze.c Fix error building Microblaze assembler on a 32-bit host. 2016-02-01 11:36:59 +00:00
tc-microblaze.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mips.c Avoid the use of gp-relative addressing when abicalls are in effect. 2016-01-25 12:39:40 -08:00
tc-mips.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mmix.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mmix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mn10200.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mn10200.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mn10300.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mn10300.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-moxie.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-moxie.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-msp430.c Update list of known MSP430 MCUs. 2016-02-17 09:55:32 +00:00
tc-msp430.h msp430: Set DWARF2_ADDR_SIZE to 4. 2016-02-03 09:21:51 -07:00
tc-mt.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mt.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-nds32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-nds32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-nios2.c Nios II/GAS: Fix build error in `output_movia' 2016-01-13 21:00:01 +00:00
tc-nios2.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ns32k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ns32k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-or1k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-or1k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-pdp11.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-pdp11.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-pj.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-pj.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ppc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ppc.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-rl78.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-rl78.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-rx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-rx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-s390.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-s390.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-score.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-score.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-score7.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-sh.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-sh.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-sh64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-sh64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-sparc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-sparc.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-spu.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-spu.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic4x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic4x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic6x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic6x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic30.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic30.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic54x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic54x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tilegx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tilegx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tilepro.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tilepro.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-v850.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-v850.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-vax.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-vax.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-visium.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-visium.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xc16x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xc16x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xgate.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xgate.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xstormy16.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xstormy16.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xtensa.c xtensa: fix .init/.fini literals moving 2016-02-17 23:08:15 +03:00
tc-xtensa.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-z8k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-z8k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-z80.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-z80.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-386bsd.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-aix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-aix5.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-armeabi.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-armfbsdeabi.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-armfbsdvfp.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-armlinuxeabi.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-dragonfly.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-dynix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-epoc-pe.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-freebsd.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-generic.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-gnu.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-go32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-hppa.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-hppa64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-hppalinux64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-hpux.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-i386aix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-ia64aix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-interix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-irix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-linux.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-lynx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-mach.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-macos.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-nacl.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-nbsd.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-nbsd532.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-netware.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-pc532mach.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-pe.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-pep.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-psos.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-riscix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-solaris.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-sparcaout.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-sun3.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-svr4.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-symbian.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-tmips.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-uclinux.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-vms.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-vms.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-vxworks.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-wince-pe.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
vax-inst.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
xtensa-istack.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
xtensa-relax.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
xtensa-relax.h Copyright update for binutils 2016-01-01 23:00:01 +10:30