* emultempl/alphaelf.em: Format option help.

* emultempl/armcoff.em: Likewise.
	* emultempl/armelf.em: Likewise.
	* emultempl/avrelf.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/ia64elf.em: Likewise.
	* emultempl/m68hc1xelf.em: Likewise.
	* emultempl/ppc32elf.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/scoreelf.em: Likewise.
	* emultempl/spuelf.em: Likewise.
	* emultempl/ticoff.em: Likewise.
	* emultempl/vxworks.em: Likewise.
	* emultempl/xtensaelf.em: Likewise.
This commit is contained in:
Alan Modra
2007-08-17 13:50:48 +00:00
parent c58dea77ff
commit 442996eee8
16 changed files with 174 additions and 128 deletions

View File

@ -1,3 +1,21 @@
2007-08-17 Alan Modra <amodra@bigpond.net.au>
* emultempl/alphaelf.em: Format option help.
* emultempl/armcoff.em: Likewise.
* emultempl/armelf.em: Likewise.
* emultempl/avrelf.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/hppaelf.em: Likewise.
* emultempl/ia64elf.em: Likewise.
* emultempl/m68hc1xelf.em: Likewise.
* emultempl/ppc32elf.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/scoreelf.em: Likewise.
* emultempl/spuelf.em: Likewise.
* emultempl/ticoff.em: Likewise.
* emultempl/vxworks.em: Likewise.
* emultempl/xtensaelf.em: Likewise.
2007-08-17 Alan Modra <amodra@bigpond.net.au> 2007-08-17 Alan Modra <amodra@bigpond.net.au>
* ldexp.c (exp_get_vma, exp_get_fill): Canonicalise error messages. * ldexp.c (exp_get_vma, exp_get_fill): Canonicalise error messages.

View File

@ -123,11 +123,11 @@ PARSE_AND_LIST_LONGOPTS='
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\ fprintf (file, _("\
--taso Load executable in the lower 31-bit addressable\n\ --taso Load executable in the lower 31-bit addressable\n\
virtual address range.\n\ virtual address range.\n\
--no-relax Do not relax call and gp sequences.\n\ --no-relax Do not relax call and gp sequences.\n\
--secureplt Force PLT in text segment.\n\ --secureplt Force PLT in text segment.\n\
--no-secureplt Force PLT in data segment.\n\ --no-secureplt Force PLT in data segment.\n\
")); "));
' '

View File

@ -70,8 +70,8 @@ gld${EMULATION_NAME}_add_options
static void static void
gld${EMULATION_NAME}_list_options (FILE *file) gld${EMULATION_NAME}_list_options (FILE *file)
{ {
fprintf (file, _(" --support-old-code Support interworking with old code\n")); fprintf (file, _(" --support-old-code Support interworking with old code\n"));
fprintf (file, _(" --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n")); fprintf (file, _(" --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"));
} }
static bfd_boolean static bfd_boolean

View File

@ -282,16 +282,17 @@ PARSE_AND_LIST_LONGOPTS='
' '
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _(" --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n")); fprintf (file, _(" --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"));
fprintf (file, _(" --be8 Oputput BE8 format image\n")); fprintf (file, _(" --be8 Oputput BE8 format image\n"));
fprintf (file, _(" --target1=rel Interpret R_ARM_TARGET1 as R_ARM_REL32\n")); fprintf (file, _(" --target1=rel Interpret R_ARM_TARGET1 as R_ARM_REL32\n"));
fprintf (file, _(" --target1=abs Interpret R_ARM_TARGET1 as R_ARM_ABS32\n")); fprintf (file, _(" --target1=abs Interpret R_ARM_TARGET1 as R_ARM_ABS32\n"));
fprintf (file, _(" --target2=<type> Specify definition of R_ARM_TARGET2\n")); fprintf (file, _(" --target2=<type> Specify definition of R_ARM_TARGET2\n"));
fprintf (file, _(" --fix-v4bx Rewrite BX rn as MOV pc, rn for ARMv4\n")); fprintf (file, _(" --fix-v4bx Rewrite BX rn as MOV pc, rn for ARMv4\n"));
fprintf (file, _(" --use-blx Enable use of BLX instructions\n")); fprintf (file, _(" --use-blx Enable use of BLX instructions\n"));
fprintf (file, _(" --vfp11-denorm-fix Specify how to fix VFP11 denorm erratum\n")); fprintf (file, _(" --vfp11-denorm-fix Specify how to fix VFP11 denorm erratum\n"));
fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible enum sizes\n")); fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible"
fprintf (file, _(" --pic-veneer Always generate PIC interworking veneers\n")); " enum sizes\n"));
fprintf (file, _(" --pic-veneer Always generate PIC interworking veneers\n"));
' '
PARSE_AND_LIST_ARGS_CASES=' PARSE_AND_LIST_ARGS_CASES='

View File

@ -198,30 +198,32 @@ PARSE_AND_LIST_LONGOPTS='
' '
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _(" --pmem-wrap-around=<val> " fprintf (file, _(" --pmem-wrap-around=<val> "
"Make the linker relaxation machine assume that a\n" "Make the linker relaxation machine assume that a\n"
" " " "
"program counter wrap-around occures at address\n" " program counter wrap-around occures at address\n"
" " " "
"<val>. Supported values are 8k, 16k, 32k and 64k.\n")); " <val>. Supported values: 8k, 16k, 32k and 64k.\n"));
fprintf (file, _(" --no-call-ret-replacement " fprintf (file, _(" --no-call-ret-replacement "
"The relaxation machine normally will\n" "The relaxation machine normally will\n"
" " " "
"substitute two immediately following call/ret\n" " substitute two immediately following call/ret\n"
" " " "
"instructions by a single jump instruction.\n" " instructions by a single jump instruction.\n"
" " " "
"This option disables this optimization.\n")); " This option disables this optimization.\n"));
fprintf (file, _(" --no-stubs " fprintf (file, _(" --no-stubs "
"If the linker detects to attempt to access\n" "If the linker detects to attempt to access\n"
" " " "
"an instruction beyond 128k by a reloc that\n" " an instruction beyond 128k by a reloc that\n"
" " " "
"is limited to 128k max, it inserts a jump\n" " is limited to 128k max, it inserts a jump\n"
" " " "
"stub. You can de-active this with this switch.\n")); " stub. You can de-active this with this switch.\n"));
fprintf (file, _(" --debug-stubs Used for debugging avr-ld.\n")); fprintf (file, _(" --debug-stubs "
fprintf (file, _(" --debug-relax Used for debugging avr-ld.\n")); "Used for debugging avr-ld.\n"));
fprintf (file, _(" --debug-relax "
"Used for debugging avr-ld.\n"));
' '
PARSE_AND_LIST_ARGS_CASES=' PARSE_AND_LIST_ARGS_CASES='

View File

@ -2192,54 +2192,83 @@ fragment <<EOF
static void static void
gld${EMULATION_NAME}_list_options (FILE * file) gld${EMULATION_NAME}_list_options (FILE * file)
{ {
fprintf (file, _(" --build-id[=STYLE]\tGenerate build ID note\n")); fprintf (file, _("\
--build-id[=STYLE] Generate build ID note\n"));
EOF EOF
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
fragment <<EOF fragment <<EOF
fprintf (file, _(" -Bgroup\t\tSelects group name lookup rules for DSO\n")); fprintf (file, _("\
fprintf (file, _(" --disable-new-dtags\tDisable new dynamic tags\n")); -Bgroup Selects group name lookup rules for DSO\n"));
fprintf (file, _(" --enable-new-dtags\tEnable new dynamic tags\n")); fprintf (file, _("\
fprintf (file, _(" --eh-frame-hdr\tCreate .eh_frame_hdr section\n")); --disable-new-dtags Disable new dynamic tags\n"));
fprintf (file, _(" --hash-style=STYLE\tSet hash style to sysv, gnu or both\n")); fprintf (file, _("\
fprintf (file, _(" -z combreloc\t\tMerge dynamic relocs into one section and sort\n")); --enable-new-dtags Enable new dynamic tags\n"));
fprintf (file, _(" -z defs\t\tReport unresolved symbols in object files.\n")); fprintf (file, _("\
fprintf (file, _(" -z execstack\t\tMark executable as requiring executable stack\n")); --eh-frame-hdr Create .eh_frame_hdr section\n"));
fprintf (file, _(" -z initfirst\t\tMark DSO to be initialized first at runtime\n")); fprintf (file, _("\
fprintf (file, _(" -z interpose\t\tMark object to interpose all DSOs but executable\n")); --hash-style=STYLE Set hash style to sysv, gnu or both\n"));
fprintf (file, _(" -z lazy\t\tMark object lazy runtime binding (default)\n")); fprintf (file, _("\
fprintf (file, _(" -z loadfltr\t\tMark object requiring immediate process\n")); -z combreloc Merge dynamic relocs into one section and sort\n"));
fprintf (file, _(" -z muldefs\t\tAllow multiple definitions\n")); fprintf (file, _("\
fprintf (file, _(" -z nocombreloc\tDon't merge dynamic relocs into one section\n")); -z defs Report unresolved symbols in object files.\n"));
fprintf (file, _(" -z nocopyreloc\tDon't create copy relocs\n")); fprintf (file, _("\
fprintf (file, _(" -z nodefaultlib\tMark object not to use default search paths\n")); -z execstack Mark executable as requiring executable stack\n"));
fprintf (file, _(" -z nodelete\t\tMark DSO non-deletable at runtime\n")); fprintf (file, _("\
fprintf (file, _(" -z nodlopen\t\tMark DSO not available to dlopen\n")); -z initfirst Mark DSO to be initialized first at runtime\n"));
fprintf (file, _(" -z nodump\t\tMark DSO not available to dldump\n")); fprintf (file, _("\
fprintf (file, _(" -z noexecstack\tMark executable as not requiring executable stack\n")); -z interpose Mark object to interpose all DSOs but executable\n"));
fprintf (file, _("\
-z lazy Mark object lazy runtime binding (default)\n"));
fprintf (file, _("\
-z loadfltr Mark object requiring immediate process\n"));
fprintf (file, _("\
-z muldefs Allow multiple definitions\n"));
fprintf (file, _("\
-z nocombreloc Don't merge dynamic relocs into one section\n"));
fprintf (file, _("\
-z nocopyreloc Don't create copy relocs\n"));
fprintf (file, _("\
-z nodefaultlib Mark object not to use default search paths\n"));
fprintf (file, _("\
-z nodelete Mark DSO non-deletable at runtime\n"));
fprintf (file, _("\
-z nodlopen Mark DSO not available to dlopen\n"));
fprintf (file, _("\
-z nodump Mark DSO not available to dldump\n"));
fprintf (file, _("\
-z noexecstack Mark executable as not requiring executable stack\n"));
EOF EOF
if test -n "$COMMONPAGESIZE"; then if test -n "$COMMONPAGESIZE"; then
fragment <<EOF fragment <<EOF
fprintf (file, _(" -z norelro\t\tDon't create RELRO program header\n")); fprintf (file, _("\
-z norelro Don't create RELRO program header\n"));
EOF EOF
fi fi
fragment <<EOF fragment <<EOF
fprintf (file, _(" -z now\t\tMark object non-lazy runtime binding\n")); fprintf (file, _("\
fprintf (file, _(" -z origin\t\tMark object requiring immediate \$ORIGIN processing\n\t\t\t at runtime\n")); -z now Mark object non-lazy runtime binding\n"));
fprintf (file, _("\
-z origin Mark object requiring immediate \$ORIGIN\n\
processing at runtime\n"));
EOF EOF
if test -n "$COMMONPAGESIZE"; then if test -n "$COMMONPAGESIZE"; then
fragment <<EOF fragment <<EOF
fprintf (file, _(" -z relro\t\tCreate RELRO program header\n")); fprintf (file, _("\
-z relro Create RELRO program header\n"));
EOF EOF
fi fi
fragment <<EOF fragment <<EOF
fprintf (file, _(" -z max-page-size=SIZE\tSet maximum page size to SIZE\n")); fprintf (file, _("\
fprintf (file, _(" -z common-page-size=SIZE\n\t\t\tSet common page size to SIZE\n")); -z max-page-size=SIZE Set maximum page size to SIZE\n"));
fprintf (file, _(" -z KEYWORD\t\tIgnored for Solaris compatibility\n")); fprintf (file, _("\
-z common-page-size=SIZE Set common page size to SIZE\n"));
fprintf (file, _("\
-z KEYWORD Ignored for Solaris compatibility\n"));
EOF EOF
fi fi

View File

@ -349,17 +349,18 @@ PARSE_AND_LIST_LONGOPTS='
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\ fprintf (file, _("\
--multi-subspace Generate import and export stubs to support\n\ --multi-subspace Generate import and export stubs to support\n\
multiple sub-space shared libraries\n" multiple sub-space shared libraries\n"
)); ));
fprintf (file, _("\ fprintf (file, _("\
--stub-group-size=N Maximum size of a group of input sections that can be\n\ --stub-group-size=N Maximum size of a group of input sections that\n\
handled by one stub section. A negative value\n\ can be handled by one stub section. A negative\n\
locates all stubs before their branches (with a\n\ value locates all stubs before their branches\n\
group size of -N), while a positive value allows\n\ (with a group size of -N), while a positive\n\
two groups of input sections, one before, and one\n\ value allows two groups of input sections, one\n\
after each stub section. Values of +/-1 indicate\n\ before, and one after each stub section.\n\
the linker should choose suitable defaults.\n" Values of +/-1 indicate the linker should\n\
choose suitable defaults.\n"
)); ));
' '

View File

@ -49,7 +49,7 @@ PARSE_AND_LIST_LONGOPTS='
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\ fprintf (file, _("\
--itanium Generate code for Intel Itanium processor\n" --itanium Generate code for Intel Itanium processor\n"
)); ));
' '

View File

@ -352,11 +352,11 @@ PARSE_AND_LIST_LONGOPTS='
' '
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _("" fprintf (file, _(
" --no-trampoline Do not generate the far trampolines used to call\n" " --no-trampoline Do not generate the far trampolines used to call\n"
" a far function using 'jsr' or 'bsr'.\n" " a far function using 'jsr' or 'bsr'.\n"
" --bank-window NAME Specify the name of the memory region describing\n" " --bank-window NAME Specify the name of the memory region describing\n"
" the layout of the memory bank window.\n" " the layout of the memory bank window.\n"
)); ));
' '

View File

@ -165,11 +165,11 @@ PARSE_AND_LIST_LONGOPTS='
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\ fprintf (file, _("\
--emit-stub-syms Label linker stubs with a symbol.\n\ --emit-stub-syms Label linker stubs with a symbol.\n\
--no-tls-optimize Don'\''t try to optimize TLS accesses.\n\ --no-tls-optimize Don'\''t try to optimize TLS accesses.\n\
--secure-plt Use new-style PLT if possible.\n\ --secure-plt Use new-style PLT if possible.\n\
--bss-plt Force old-style BSS PLT.\n\ --bss-plt Force old-style BSS PLT.\n\
--sdata-got Force GOT location just before .sdata.\n" --sdata-got Force GOT location just before .sdata.\n"
)); ));
' '

View File

@ -512,41 +512,42 @@ PARSE_AND_LIST_LONGOPTS='
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\ fprintf (file, _("\
--stub-group-size=N Maximum size of a group of input sections that can be\n\ --stub-group-size=N Maximum size of a group of input sections that\n\
handled by one stub section. A negative value\n\ can be handled by one stub section. A negative\n\
locates all stubs before their branches (with a\n\ value locates all stubs before their branches\n\
group size of -N), while a positive value allows\n\ (with a group size of -N), while a positive\n\
two groups of input sections, one before, and one\n\ value allows two groups of input sections, one\n\
after each stub section. Values of +/-1 indicate\n\ before, and one after each stub section.\n\
the linker should choose suitable defaults.\n" Values of +/-1 indicate the linker should\n\
choose suitable defaults.\n"
)); ));
fprintf (file, _("\ fprintf (file, _("\
--emit-stub-syms Label linker stubs with a symbol.\n" --emit-stub-syms Label linker stubs with a symbol.\n"
)); ));
fprintf (file, _("\ fprintf (file, _("\
--dotsyms For every version pattern \"foo\" in a version script,\n\ --dotsyms For every version pattern \"foo\" in a version\n\
add \".foo\" so that function code symbols are\n\ script, add \".foo\" so that function code\n\
treated the same as function descriptor symbols.\n\ symbols are treated the same as function\n\
Defaults to on.\n" descriptor symbols. Defaults to on.\n"
)); ));
fprintf (file, _("\ fprintf (file, _("\
--no-dotsyms Don'\''t do anything special in version scripts.\n" --no-dotsyms Don'\''t do anything special in version scripts.\n"
)); ));
fprintf (file, _("\ fprintf (file, _("\
--no-tls-optimize Don'\''t try to optimize TLS accesses.\n" --no-tls-optimize Don'\''t try to optimize TLS accesses.\n"
)); ));
fprintf (file, _("\ fprintf (file, _("\
--no-opd-optimize Don'\''t optimize the OPD section.\n" --no-opd-optimize Don'\''t optimize the OPD section.\n"
)); ));
fprintf (file, _("\ fprintf (file, _("\
--no-toc-optimize Don'\''t optimize the TOC section.\n" --no-toc-optimize Don'\''t optimize the TOC section.\n"
)); ));
fprintf (file, _("\ fprintf (file, _("\
--no-multi-toc Disallow automatic multiple toc sections.\n" --no-multi-toc Disallow automatic multiple toc sections.\n"
)); ));
fprintf (file, _("\ fprintf (file, _("\
--non-overlapping-opd Canonicalize .opd, so that there are no overlapping\n\ --non-overlapping-opd Canonicalize .opd, so that there are no\n\
.opd entries.\n" overlapping .opd entries.\n"
)); ));
' '

View File

@ -56,15 +56,6 @@ score_elf_after_open (void)
EOF EOF
# Define some shell vars to insert bits of code into the standard elf
# parse_args and list_options functions.
#
PARSE_AND_LIST_PROLOGUE=''
PARSE_AND_LIST_SHORTOPTS=
PARSE_AND_LIST_LONGOPTS=''
PARSE_AND_LIST_OPTIONS=''
PARSE_AND_LIST_ARGS_CASES=''
# We have our own after_open and before_allocation functions, but they call # We have our own after_open and before_allocation functions, but they call
# the standard routines, so give them a different name. # the standard routines, so give them a different name.
LDEMUL_AFTER_OPEN=score_elf_after_open LDEMUL_AFTER_OPEN=score_elf_after_open

View File

@ -450,13 +450,13 @@ PARSE_AND_LIST_LONGOPTS='
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\ fprintf (file, _("\
--plugin Make SPU plugin.\n\ --plugin Make SPU plugin.\n\
--no-overlays No overlay handling.\n\ --no-overlays No overlay handling.\n\
--emit-stub-syms Add symbols on overlay call stubs.\n\ --emit-stub-syms Add symbols on overlay call stubs.\n\
--extra-overlay-stubs Add stubs on all calls out of overlay regions.\n\ --extra-overlay-stubs Add stubs on all calls out of overlay regions.\n\
--local-store=lo:hi Valid address range.\n\ --local-store=lo:hi Valid address range.\n\
--stack-analysis Estimate maximum stack requirement.\n\ --stack-analysis Estimate maximum stack requirement.\n\
--emit-stack-syms Add __stack_func giving stack needed for each func.\n" --emit-stack-syms Add sym giving stack needed for each func.\n"
)); ));
' '

View File

@ -66,7 +66,7 @@ gld${EMULATION_NAME}_add_options
static void static void
gld_${EMULATION_NAME}_list_options (FILE * file) gld_${EMULATION_NAME}_list_options (FILE * file)
{ {
fprintf (file, _(" --format 0|1|2 Specify which COFF version to use\n")); fprintf (file, _(" --format 0|1|2 Specify which COFF version to use\n"));
} }
static bfd_boolean static bfd_boolean

View File

@ -67,7 +67,7 @@ PARSE_AND_LIST_LONGOPTS=$PARSE_AND_LIST_LONGOPTS'
PARSE_AND_LIST_OPTIONS=$PARSE_AND_LIST_OPTIONS' PARSE_AND_LIST_OPTIONS=$PARSE_AND_LIST_OPTIONS'
fprintf (file, _("\ fprintf (file, _("\
--force-dynamic Always create dynamic sections\n")); --force-dynamic Always create dynamic sections\n"));
' '
PARSE_AND_LIST_ARGS_CASES=$PARSE_AND_LIST_ARGS_CASES' PARSE_AND_LIST_ARGS_CASES=$PARSE_AND_LIST_ARGS_CASES'

View File

@ -1999,8 +1999,11 @@ PARSE_AND_LIST_LONGOPTS='
' '
PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_OPTIONS='
fprintf (file, _(" --size-opt\t\tWhen relaxing longcalls, prefer size optimization\n\t\t\t over branch target alignment\n")); fprintf (file, _("\
fprintf (file, _(" --no-relax\t\tDo not relax branches or coalesce literals\n")); --size-opt When relaxing longcalls, prefer size\n\
optimization over branch target alignment\n"));
fprintf (file, _("\
--no-relax Do not relax branches or coalesce literals\n"));
' '
PARSE_AND_LIST_ARGS_CASES=' PARSE_AND_LIST_ARGS_CASES='