[PATCH 0/2] AVR/gas: Turn on -mlink-relax by default.
Tue Dec 23 17:57:00 GMT 2014
The interesting patch is 1/2, this turns on -mlink-relax for the
assembler by default, that is the assembler prepare for linker
relaxation by default.
Of the targets that support linker relaxation there is around a 50/50
split between targets that have it on by default in the assembler, and
those that have it off.
The cost of having this option on by default is that more relocations
are left for the linker to handle, and the debug information (line
number tables) can't be compressed as aggressively.
The benefit however is that all object files are ready for relaxation
by default without any additional action. I often find that users
don't realise, or forget, that the assembler stage must change in
order for linker relaxation to take place, they are then confused when
relaxation appears to do nothing. A second minor benefit is that the
compilation of any libaries requires no modification in order for
linker relaxation to be supported.
Patch 2/2 just adds documentation for the assembler flags relating to
linker relaxation on AVR, these appeared to be undocumented until now.
Andrew Burgess (2):
AVR: Assembler now prepares for linker relaxation by default.
AVR: Document linker relaxation related options.
gas/ChangeLog | 17 ++++++++++++++++
gas/config/tc-avr.c | 24 +++++++++++++++--------
gas/doc/c-avr.texi | 11 +++++++++++
gas/testsuite/ChangeLog | 7 +++++++
gas/testsuite/gas/all/gas.exp | 3 ++-
gas/testsuite/gas/avr/link-relax-elf-flag-clear.d | 2 +-
gas/testsuite/gas/avr/noreloc_withoutrelax.d | 2 +-
ld/testsuite/ChangeLog | 9 +++++++++
ld/testsuite/ld-avr/relax-elf-flags-02.d | 2 +-
ld/testsuite/ld-avr/relax-elf-flags-03.d | 2 +-
ld/testsuite/ld-avr/relax-elf-flags-04.d | 4 ++--
ld/testsuite/ld-avr/relax-elf-flags-05.d | 4 ++--
ld/testsuite/ld-avr/relax-elf-flags-06.d | 2 +-
13 files changed, 71 insertions(+), 18 deletions(-)
More information about the Binutils