* 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>
+
+ * 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>
* ldexp.c (exp_get_vma, exp_get_fill): Canonicalise error messages.
PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\
- --taso Load executable in the lower 31-bit addressable\n\
- virtual address range.\n\
- --no-relax Do not relax call and gp sequences.\n\
- --secureplt Force PLT in text segment.\n\
- --no-secureplt Force PLT in data segment.\n\
+ --taso Load executable in the lower 31-bit addressable\n\
+ virtual address range.\n\
+ --no-relax Do not relax call and gp sequences.\n\
+ --secureplt Force PLT in text segment.\n\
+ --no-secureplt Force PLT in data segment.\n\
"));
'
static void
gld${EMULATION_NAME}_list_options (FILE *file)
{
- 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, _(" --support-old-code Support interworking with old code\n"));
+ fprintf (file, _(" --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"));
}
static bfd_boolean
'
PARSE_AND_LIST_OPTIONS='
- 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, _(" --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, _(" --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, _(" --use-blx Enable use of BLX instructions\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, _(" --pic-veneer Always generate PIC interworking veneers\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, _(" --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, _(" --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, _(" --use-blx Enable use of BLX instructions\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, _(" --pic-veneer Always generate PIC interworking veneers\n"));
'
PARSE_AND_LIST_ARGS_CASES='
'
PARSE_AND_LIST_OPTIONS='
- fprintf (file, _(" --pmem-wrap-around=<val> "
- "Make the linker relaxation machine assume that a\n"
- " "
- "program counter wrap-around occures at address\n"
- " "
- "<val>. Supported values are 8k, 16k, 32k and 64k.\n"));
- fprintf (file, _(" --no-call-ret-replacement "
- "The relaxation machine normally will\n"
- " "
- "substitute two immediately following call/ret\n"
- " "
- "instructions by a single jump instruction.\n"
- " "
- "This option disables this optimization.\n"));
- fprintf (file, _(" --no-stubs "
- "If the linker detects to attempt to access\n"
- " "
- "an instruction beyond 128k by a reloc that\n"
- " "
- "is limited to 128k max, it inserts a jump\n"
- " "
- "stub. You can de-active this with this switch.\n"));
- fprintf (file, _(" --debug-stubs Used for debugging avr-ld.\n"));
- fprintf (file, _(" --debug-relax Used for debugging avr-ld.\n"));
+ fprintf (file, _(" --pmem-wrap-around=<val> "
+ "Make the linker relaxation machine assume that a\n"
+ " "
+ " program counter wrap-around occures at address\n"
+ " "
+ " <val>. Supported values: 8k, 16k, 32k and 64k.\n"));
+ fprintf (file, _(" --no-call-ret-replacement "
+ "The relaxation machine normally will\n"
+ " "
+ " substitute two immediately following call/ret\n"
+ " "
+ " instructions by a single jump instruction.\n"
+ " "
+ " This option disables this optimization.\n"));
+ fprintf (file, _(" --no-stubs "
+ "If the linker detects to attempt to access\n"
+ " "
+ " an instruction beyond 128k by a reloc that\n"
+ " "
+ " is limited to 128k max, it inserts a jump\n"
+ " "
+ " stub. You can de-active this with this switch.\n"));
+ fprintf (file, _(" --debug-stubs "
+ "Used for debugging avr-ld.\n"));
+ fprintf (file, _(" --debug-relax "
+ "Used for debugging avr-ld.\n"));
'
PARSE_AND_LIST_ARGS_CASES='
static void
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
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
fragment <<EOF
- fprintf (file, _(" -Bgroup\t\tSelects group name lookup rules for DSO\n"));
- fprintf (file, _(" --disable-new-dtags\tDisable new dynamic tags\n"));
- fprintf (file, _(" --enable-new-dtags\tEnable new dynamic tags\n"));
- fprintf (file, _(" --eh-frame-hdr\tCreate .eh_frame_hdr section\n"));
- fprintf (file, _(" --hash-style=STYLE\tSet hash style to sysv, gnu or both\n"));
- fprintf (file, _(" -z combreloc\t\tMerge dynamic relocs into one section and sort\n"));
- fprintf (file, _(" -z defs\t\tReport unresolved symbols in object files.\n"));
- fprintf (file, _(" -z execstack\t\tMark executable as requiring executable stack\n"));
- fprintf (file, _(" -z initfirst\t\tMark DSO to be initialized first at runtime\n"));
- fprintf (file, _(" -z interpose\t\tMark object to interpose all DSOs but executable\n"));
- fprintf (file, _(" -z lazy\t\tMark object lazy runtime binding (default)\n"));
- fprintf (file, _(" -z loadfltr\t\tMark object requiring immediate process\n"));
- fprintf (file, _(" -z muldefs\t\tAllow multiple definitions\n"));
- fprintf (file, _(" -z nocombreloc\tDon't merge dynamic relocs into one section\n"));
- fprintf (file, _(" -z nocopyreloc\tDon't create copy relocs\n"));
- fprintf (file, _(" -z nodefaultlib\tMark object not to use default search paths\n"));
- fprintf (file, _(" -z nodelete\t\tMark DSO non-deletable at runtime\n"));
- fprintf (file, _(" -z nodlopen\t\tMark DSO not available to dlopen\n"));
- fprintf (file, _(" -z nodump\t\tMark DSO not available to dldump\n"));
- fprintf (file, _(" -z noexecstack\tMark executable as not requiring executable stack\n"));
+ fprintf (file, _("\
+ -Bgroup Selects group name lookup rules for DSO\n"));
+ fprintf (file, _("\
+ --disable-new-dtags Disable new dynamic tags\n"));
+ fprintf (file, _("\
+ --enable-new-dtags Enable new dynamic tags\n"));
+ fprintf (file, _("\
+ --eh-frame-hdr Create .eh_frame_hdr section\n"));
+ fprintf (file, _("\
+ --hash-style=STYLE Set hash style to sysv, gnu or both\n"));
+ fprintf (file, _("\
+ -z combreloc Merge dynamic relocs into one section and sort\n"));
+ fprintf (file, _("\
+ -z defs Report unresolved symbols in object files.\n"));
+ fprintf (file, _("\
+ -z execstack Mark executable as requiring executable stack\n"));
+ fprintf (file, _("\
+ -z initfirst Mark DSO to be initialized first at runtime\n"));
+ fprintf (file, _("\
+ -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
if test -n "$COMMONPAGESIZE"; then
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
fi
fragment <<EOF
- fprintf (file, _(" -z now\t\tMark object non-lazy runtime binding\n"));
- fprintf (file, _(" -z origin\t\tMark object requiring immediate \$ORIGIN processing\n\t\t\t at runtime\n"));
+ fprintf (file, _("\
+ -z now Mark object non-lazy runtime binding\n"));
+ fprintf (file, _("\
+ -z origin Mark object requiring immediate \$ORIGIN\n\
+ processing at runtime\n"));
EOF
if test -n "$COMMONPAGESIZE"; then
fragment <<EOF
- fprintf (file, _(" -z relro\t\tCreate RELRO program header\n"));
+ fprintf (file, _("\
+ -z relro Create RELRO program header\n"));
EOF
fi
fragment <<EOF
- fprintf (file, _(" -z max-page-size=SIZE\tSet maximum page size to SIZE\n"));
- fprintf (file, _(" -z common-page-size=SIZE\n\t\t\tSet common page size to SIZE\n"));
- fprintf (file, _(" -z KEYWORD\t\tIgnored for Solaris compatibility\n"));
+ fprintf (file, _("\
+ -z max-page-size=SIZE Set maximum page size to SIZE\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
fi
PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\
- --multi-subspace Generate import and export stubs to support\n\
- multiple sub-space shared libraries\n"
+ --multi-subspace Generate import and export stubs to support\n\
+ multiple sub-space shared libraries\n"
));
fprintf (file, _("\
- --stub-group-size=N Maximum size of a group of input sections that can be\n\
- handled by one stub section. A negative value\n\
- locates all stubs before their branches (with a\n\
- group size of -N), while a positive value allows\n\
- two groups of input sections, one before, and one\n\
- after each stub section. Values of +/-1 indicate\n\
- the linker should choose suitable defaults.\n"
+ --stub-group-size=N Maximum size of a group of input sections that\n\
+ can be handled by one stub section. A negative\n\
+ value locates all stubs before their branches\n\
+ (with a group size of -N), while a positive\n\
+ value allows two groups of input sections, one\n\
+ before, and one after each stub section.\n\
+ Values of +/-1 indicate the linker should\n\
+ choose suitable defaults.\n"
));
'
PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\
- --itanium Generate code for Intel Itanium processor\n"
+ --itanium Generate code for Intel Itanium processor\n"
));
'
'
PARSE_AND_LIST_OPTIONS='
- fprintf (file, _(""
-" --no-trampoline Do not generate the far trampolines used to call\n"
-" a far function using 'jsr' or 'bsr'.\n"
-" --bank-window NAME Specify the name of the memory region describing\n"
-" the layout of the memory bank window.\n"
+ fprintf (file, _(
+" --no-trampoline Do not generate the far trampolines used to call\n"
+" a far function using 'jsr' or 'bsr'.\n"
+" --bank-window NAME Specify the name of the memory region describing\n"
+" the layout of the memory bank window.\n"
));
'
PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\
- --emit-stub-syms Label linker stubs with a symbol.\n\
- --no-tls-optimize Don'\''t try to optimize TLS accesses.\n\
- --secure-plt Use new-style PLT if possible.\n\
- --bss-plt Force old-style BSS PLT.\n\
- --sdata-got Force GOT location just before .sdata.\n"
+ --emit-stub-syms Label linker stubs with a symbol.\n\
+ --no-tls-optimize Don'\''t try to optimize TLS accesses.\n\
+ --secure-plt Use new-style PLT if possible.\n\
+ --bss-plt Force old-style BSS PLT.\n\
+ --sdata-got Force GOT location just before .sdata.\n"
));
'
PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\
- --stub-group-size=N Maximum size of a group of input sections that can be\n\
- handled by one stub section. A negative value\n\
- locates all stubs before their branches (with a\n\
- group size of -N), while a positive value allows\n\
- two groups of input sections, one before, and one\n\
- after each stub section. Values of +/-1 indicate\n\
- the linker should choose suitable defaults.\n"
+ --stub-group-size=N Maximum size of a group of input sections that\n\
+ can be handled by one stub section. A negative\n\
+ value locates all stubs before their branches\n\
+ (with a group size of -N), while a positive\n\
+ value allows two groups of input sections, one\n\
+ before, and one after each stub section.\n\
+ Values of +/-1 indicate the linker should\n\
+ choose suitable defaults.\n"
));
fprintf (file, _("\
- --emit-stub-syms Label linker stubs with a symbol.\n"
+ --emit-stub-syms Label linker stubs with a symbol.\n"
));
fprintf (file, _("\
- --dotsyms For every version pattern \"foo\" in a version script,\n\
- add \".foo\" so that function code symbols are\n\
- treated the same as function descriptor symbols.\n\
- Defaults to on.\n"
+ --dotsyms For every version pattern \"foo\" in a version\n\
+ script, add \".foo\" so that function code\n\
+ symbols are treated the same as function\n\
+ descriptor symbols. Defaults to on.\n"
));
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, _("\
- --no-tls-optimize Don'\''t try to optimize TLS accesses.\n"
+ --no-tls-optimize Don'\''t try to optimize TLS accesses.\n"
));
fprintf (file, _("\
- --no-opd-optimize Don'\''t optimize the OPD section.\n"
+ --no-opd-optimize Don'\''t optimize the OPD section.\n"
));
fprintf (file, _("\
- --no-toc-optimize Don'\''t optimize the TOC section.\n"
+ --no-toc-optimize Don'\''t optimize the TOC section.\n"
));
fprintf (file, _("\
- --no-multi-toc Disallow automatic multiple toc sections.\n"
+ --no-multi-toc Disallow automatic multiple toc sections.\n"
));
fprintf (file, _("\
- --non-overlapping-opd Canonicalize .opd, so that there are no overlapping\n\
- .opd entries.\n"
+ --non-overlapping-opd Canonicalize .opd, so that there are no\n\
+ overlapping .opd entries.\n"
));
'
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
# the standard routines, so give them a different name.
LDEMUL_AFTER_OPEN=score_elf_after_open
PARSE_AND_LIST_OPTIONS='
fprintf (file, _("\
- --plugin Make SPU plugin.\n\
- --no-overlays No overlay handling.\n\
- --emit-stub-syms Add symbols on overlay call stubs.\n\
- --extra-overlay-stubs Add stubs on all calls out of overlay regions.\n\
- --local-store=lo:hi Valid address range.\n\
- --stack-analysis Estimate maximum stack requirement.\n\
- --emit-stack-syms Add __stack_func giving stack needed for each func.\n"
+ --plugin Make SPU plugin.\n\
+ --no-overlays No overlay handling.\n\
+ --emit-stub-syms Add symbols on overlay call stubs.\n\
+ --extra-overlay-stubs Add stubs on all calls out of overlay regions.\n\
+ --local-store=lo:hi Valid address range.\n\
+ --stack-analysis Estimate maximum stack requirement.\n\
+ --emit-stack-syms Add sym giving stack needed for each func.\n"
));
'
static void
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
PARSE_AND_LIST_OPTIONS=$PARSE_AND_LIST_OPTIONS'
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_OPTIONS='
- fprintf (file, _(" --size-opt\t\tWhen relaxing longcalls, prefer size optimization\n\t\t\t over branch target alignment\n"));
- fprintf (file, _(" --no-relax\t\tDo not relax branches or coalesce literals\n"));
+ fprintf (file, _("\
+ --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='