diff options
author | Nick Clifton <nickc@redhat.com> | 2009-11-26 13:45:25 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2009-11-26 13:45:25 +0000 |
commit | 28d5f6774058f4c7d5141b1dda8b76ee81f8cf4f (patch) | |
tree | d2a5b9ce35ec5ae61d04c98564ff51460d3ec818 /ld/ld.texinfo | |
parent | f1b9c60a8f8a6471f328fd1e1744c8592f63dd59 (diff) | |
download | gdb-28d5f6774058f4c7d5141b1dda8b76ee81f8cf4f.zip gdb-28d5f6774058f4c7d5141b1dda8b76ee81f8cf4f.tar.gz gdb-28d5f6774058f4c7d5141b1dda8b76ee81f8cf4f.tar.bz2 |
PR ld/10956
* ld.h (struct args_type): Rename 'relax' field to
'disable_target_specific_optimizations' and turn it into a
tri-state variable.
(RELAXATION_DISABLED_BY_DEFAULT): New macro.
(RELAXATION_DISABLED_BY_USER): New macro.
(RELAXATION_ENABLED): New macro.
(DISABLE_RELAXATION): New macro.
(ENABLE_RELAXATION): New macro.
* lexsup (enum option_values): Add OPTION_NO_RELAX.
(struct ld_options): Add --no-relax.
(parse_args): Handle OPTION_NO_RELAX. Use DISABLE_RELAXATION and
ENABLE_RELAXATION macros.
* ldlang.c (lang_relax_sections): Use RELAXATION_ENABLED macro.
(lang_process): Likewise.
* ldmain.c (main): Initialise
disable_target_specific_optimizations field.
(multiple_definition): Use RELAXATION_ENABLED macro.
* ld.texinfo: Document new command line option.
* emultempl/alphaelf.em: Remove --no-relax option.
(before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
Use ENABLE_RELAXATION macro.
* emultempl/avrelf.em: (after_allocation): Test RELAXATION_ENABLED
macro.
* emultempl/cr16elf.em: Remove --no-relax option.
(before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
Use ENABLE_RELAXATION macro.
* emultempl/crxelf.em: Remove --no-relax option.
(before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
Use ENABLE_RELAXATION macro.
* emultempl/mmix-elfnmmo.em: (before_allocation): Use
ENABLE_RELAXATION macro.
* emultempl/needrelax.em: (before_allocation): Use
ENABLE_RELAXATION macro.
* emultempl/ppc32elf.em: (before_allocation): Test
RELAXATION_DISABLED_BY_DEFAULT macro. Use
ENABLE_RELAXATION macro.
* emultempl/sh64elf.em: (before_allocation): Test
RELAXATION_ENABLED macro. Use DISABLE_RELAXATION macro.
* emultempl/xtensaelf.em: Remove --no-relax option.
(before_allocation): Test RELAXATION_ENABLED macro.
Use ENABLE_RELAXATION macro.
Diffstat (limited to 'ld/ld.texinfo')
-rw-r--r-- | ld/ld.texinfo | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 8ac4c7d..aa9a223 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -1563,7 +1563,9 @@ This option is ignored for SVR4 compatibility. @kindex --relax @cindex synthesizing linker @cindex relaxing addressing modes +@cindex --no-relax @item --relax +@itemx --no-relax An option with machine dependent effects. @ifset GENERIC This option is only supported on a few targets. @@ -1584,16 +1586,17 @@ This option is only supported on a few targets. @xref{PowerPC ELF32,,@command{ld} and PowerPC 32-bit ELF Support}. @end ifset -On some platforms, the @samp{--relax} option performs global -optimizations that become possible when the linker resolves addressing -in the program, such as relaxing address modes and synthesizing new -instructions in the output object file. +On some platforms the @samp{--relax} option performs target specific, +global optimizations that become possible when the linker resolves +addressing in the program, such as relaxing address modes, +synthesizing new instructions, selecting shorter version of current +instructions, and combinig constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. @ifset GENERIC -This is known to be -the case for the Matsushita MN10200 and MN10300 family of processors. +This is known to be the case for the Matsushita MN10200 and MN10300 +family of processors. @end ifset @ifset GENERIC @@ -1601,6 +1604,9 @@ On platforms where this is not supported, @samp{--relax} is accepted, but ignored. @end ifset +On platforms where @samp{--relax} is accepted the option +@samp{--no-relax} can be used to disable the feature. + @cindex retaining specified symbols @cindex stripping all but some symbols @cindex symbols, retaining selectively @@ -7146,12 +7152,6 @@ control the linker: @cindex Xtensa options @table @option -@kindex --no-relax -@item --no-relax -Since the Xtensa version of @code{ld} enables the @option{--relax} option -by default, the @option{--no-relax} option is provided to disable -relaxation. - @item --size-opt When optimizing indirect calls to direct calls, optimize for code size more than performance. With this option, the linker will not insert |