* emultempl/pe.em: Add --disable-large-address-aware option.

* ld.texinfo (--disable-large-address-aware): Add documentation.
This commit is contained in:
Nick Clifton 2013-08-22 15:28:42 +00:00
parent e630b97400
commit f69a2f978f
3 changed files with 22 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2013-08-22 Christian Franke <franke@computer.org>
* emultempl/pe.em: Add --disable-large-address-aware option.
* ld.texinfo (--disable-large-address-aware): Add documentation.
2013-08-14 Clemens Lang <clemens.lang@fau.de>
* ldexp.c: Add LOG2CEIL() builtin function to linker script language

View File

@ -241,8 +241,10 @@ fragment <<EOF
(OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC + 1)
#define OPTION_LARGE_ADDRESS_AWARE \
(OPTION_DLL_DISABLE_RUNTIME_PSEUDO_RELOC + 1)
#define OPTION_DISABLE_LARGE_ADDRESS_AWARE \
(OPTION_LARGE_ADDRESS_AWARE + 1)
#define OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V1 \
(OPTION_LARGE_ADDRESS_AWARE + 1)
(OPTION_DISABLE_LARGE_ADDRESS_AWARE + 1)
#define OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V2 \
(OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V1 + 1)
#define OPTION_EXCLUDE_MODULES_FOR_IMPLIB \
@ -332,6 +334,7 @@ gld${EMULATION_NAME}_add_options
{"enable-runtime-pseudo-reloc-v2", no_argument, NULL, OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V2},
#endif
{"large-address-aware", no_argument, NULL, OPTION_LARGE_ADDRESS_AWARE},
{"disable-large-address-aware", no_argument, NULL, OPTION_DISABLE_LARGE_ADDRESS_AWARE},
{"enable-long-section-names", no_argument, NULL, OPTION_ENABLE_LONG_SECTION_NAMES},
{"disable-long-section-names", no_argument, NULL, OPTION_DISABLE_LONG_SECTION_NAMES},
{"dynamicbase",no_argument, NULL, OPTION_DYNAMIC_BASE},
@ -471,6 +474,8 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
#endif
fprintf (file, _(" --large-address-aware Executable supports virtual addresses\n\
greater than 2 gigabytes\n"));
fprintf (file, _(" --disable-large-address-aware Executable does not support virtual\n\
addresses greater than 2 gigabytes\n"));
fprintf (file, _(" --enable-long-section-names Use long COFF section names even in\n\
executable image files\n"));
fprintf (file, _(" --disable-long-section-names Never use long COFF section names, even\n\
@ -827,6 +832,9 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_LARGE_ADDRESS_AWARE:
real_flags |= IMAGE_FILE_LARGE_ADDRESS_AWARE;
break;
case OPTION_DISABLE_LARGE_ADDRESS_AWARE:
real_flags &= ~ IMAGE_FILE_LARGE_ADDRESS_AWARE;
break;
case OPTION_ENABLE_LONG_SECTION_NAMES:
pe_use_coff_long_section_names = 1;
break;

View File

@ -2348,6 +2348,14 @@ or /USERVA=@var{value} megabytes switch in the ``[operating systems]''
section of the BOOT.INI. Otherwise, this bit has no effect.
[This option is specific to PE targeted ports of the linker]
@kindex --disable-large-address-aware
@item --disable-large-address-aware
Reverts the effect of a previous @samp{--large-address-aware} option.
This is useful if @samp{--large-address-aware} is always set by the compiler
driver (e.g. Cygwin gcc) and the executable does not support virtual
addresses greater than 2 gigabytes.
[This option is specific to PE targeted ports of the linker]
@kindex --major-image-version
@item --major-image-version @var{value}
Sets the major number of the ``image version''. Defaults to 1.