binutils-gdb/gas/config
Andrew Burgess edc9e9a62f AVR: Assembler now prepares for linker relaxation by default.
Have the assembler prepare for linker relaxation by default.  This
means that users will be able to make use of linker relaxation without
having to adjust the assembler flags, this can make life easier when
compiling libraries.

Having this on by default in the assembler should make no difference to
the assembler code produced, however, some of the debug information will
be slightly less compressed.

A few tests needed to be updated as a result of this change as they
relied on linker relaxation support being off by default.

I've tightened up the definition of which sections can be relaxed on AVR
as part of this commit, the assembler used to think that all
non-debugging sections could be relaxed, when in reality only code
sections can be relaxed for AVR.  The previous definition was not
dangerous, just over cautious.  The new tighter definition allows an
extra test (gas/testsuite/gas/all/forward.d) to continue to pass.

gas/ChangeLog:

	* config/tc-avr.c (struct avr_opt_s): Change link_relax to
	no_link_relax, extend comment.
	(enum options): Add new OPTION_NO_LINK_RELAX.
	(md_longopts): Add entry for -mno-link-relax.
	(md_parse_option): Handle OPTION_NO_LINK_RELAX, and update
	OPTION_LINK_RELAX.
	(md_begin): Initialise linkrelax from no_link_relax.
	(md_show_usage): Include -mno-link-relax option.
	(relaxable_section): Only allocatable code sections can be
	relaxed.
	* config/tc-avr.h (TC_LINKRELAX_FIXUP): Define.

gas/testsuite/ChangeLog:

	* gas/all/gas.exp: Test will not pass on AVR due to linker
	relaxation support.
	* gas/avr/noreloc_withoutrelax.d: Add -mno-link-relax option.
	* gas/avr/link-relax-elf-flag-clear.d: Likewise.

ld/testsuite/ChangeLog:

	* ld/testsuite/ld-avr/relax-elf-flags-02.d: Add -mno-link-relax
	option.
	* ld/testsuite/ld-avr/relax-elf-flags-03.d: Likewise.
	* ld/testsuite/ld-avr/relax-elf-flags-04.d: Likewise.
	* ld/testsuite/ld-avr/relax-elf-flags-05.d: Likewise.
	* ld/testsuite/ld-avr/relax-elf-flags-06.d: Likewise.
2014-12-24 21:27:43 +00: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 Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
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 Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
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 Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
obj-elf.h
obj-evax.c
obj-evax.h
obj-fdpicelf.c
obj-fdpicelf.h
obj-macho.c Avoid cascading errors due to write_object_file change 2014-06-28 00:20:14 +09:30
obj-macho.h
obj-multi.c
obj-multi.h
obj-som.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
obj-som.h
rl78-defs.h
rl78-parse.y
rx-defs.h
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
tc-arc.c
tc-arc.h
tc-arm.c This patch add support for cpu marvell-whitney. 2014-12-23 13:41:13 +00:00
tc-arm.h Calculate ARM arch attribute after relaxation 2014-11-21 11:54:39 +08:00
tc-avr.c AVR: Assembler now prepares for linker relaxation by default. 2014-12-24 21:27:43 +00:00
tc-avr.h AVR: Only set link-relax elf flag when appropriate. 2014-12-23 15:45:11 +00:00
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 GAS: Fix CRIS double-error reports caused by recent generic GAS changes. 2014-06-17 00:56:01 +02:00
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 Don't leave DLX the_insn uninitialised 2014-06-16 12:33:42 +09:30
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 Compress debug sections for Linux/x86 by default 2014-12-14 06:41:03 -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 Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
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 Rework the alignment check for BFD_RELOC_MIPS_18_PCREL_S3. 2014-12-19 20:24:16 +00:00
tc-mips.h
tc-mmix.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
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 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
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 Remove broken nios2 assembler dwim support. 2014-11-28 14:41:32 -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 PowerPC register numbers in DWARF 2014-12-13 00:11:36 +10: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
tc-rx.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
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 Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
tc-score.c Prepare gas for 64-bit obstacks 2014-07-26 21:00:50 +09:30
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 Ensure zero termination of tic4x insn buffer 2014-12-09 17:04:45 +10:30
tc-tic4x.h
tc-tic6x.c Fix unintitialised TIC6X data 2014-06-16 12:31:53 +09:30
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 Fix TIC54X buffer overruns 2014-06-16 12:30:53 +09:30
tc-tic54x.h
tc-tilegx.c
tc-tilegx.h
tc-tilepro.c
tc-tilepro.h
tc-v850.c
tc-v850.h
tc-vax.c Fix uninitialised VAX insn 2014-06-16 12:29:52 +09:30
tc-vax.h
tc-visium.c Add Visium support to gas 2014-12-06 16:42:26 +01:00
tc-visium.h Add Visium support to gas 2014-12-06 16:42:26 +01:00
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-aix.h PowerPC register numbers in DWARF 2014-12-13 00:11:36 +10:30
te-armeabi.h
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
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