X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Femultempl%2Fppc32elf.em;h=439f89131dc7daa5cad8732fe6ff866363a9988f;hb=3d9c8f6b3f033a6092425b7344647fb51dbed5c6;hp=3c335b7412ff096fd0f76f0766014c2652f703bf;hpb=df5f2391f7b2e3cab7e677ab7dadd02aef06e269;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/emultempl/ppc32elf.em b/ld/emultempl/ppc32elf.em index 3c335b7412..439f89131d 100644 --- a/ld/emultempl/ppc32elf.em +++ b/ld/emultempl/ppc32elf.em @@ -35,6 +35,9 @@ fragment <sections; o != NULL; o = o->next) { @@ -212,6 +231,8 @@ ppc_finish (void) { if (params.ppc476_workaround) lang_for_each_statement (no_zero_padding); + if (!ppc_finish_symbols (&link_info)) + einfo (_("%X%P: ppc_finish_symbols problem %E\n")); finish_default (); } @@ -248,6 +269,7 @@ enum ppc32_opt OPTION_OLD_PLT, OPTION_PLT_ALIGN, OPTION_NO_PLT_ALIGN, + OPTION_NO_INLINE_OPT, OPTION_OLD_GOT, OPTION_STUBSYMS, OPTION_NO_STUBSYMS, @@ -269,6 +291,7 @@ if test -z "$VXWORKS_BASE_EM_FILE" ; then { "bss-plt", no_argument, NULL, OPTION_OLD_PLT }, { "plt-align", optional_argument, NULL, OPTION_PLT_ALIGN }, { "no-plt-align", no_argument, NULL, OPTION_NO_PLT_ALIGN }, + { "no-inline-optimize", no_argument, NULL, OPTION_NO_INLINE_OPT }, { "sdata-got", no_argument, NULL, OPTION_OLD_GOT },' fi PARSE_AND_LIST_LONGOPTS=${PARSE_AND_LIST_LONGOPTS}' @@ -306,6 +329,9 @@ if test -z "$VXWORKS_BASE_EM_FILE" ; then --no-plt-align Dont'\''t align individual PLT call stubs\n" )); fprintf (file, _("\ + --no-inline-optimize Don'\''t convert inline PLT to direct calls\n" + )); + fprintf (file, _("\ --sdata-got Force GOT location just before .sdata\n" ));' fi @@ -367,6 +393,10 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}' params.plt_stub_align = 0; break; + case OPTION_NO_INLINE_OPT: + no_inline_opt = 1; + break; + case OPTION_OLD_GOT: old_got = 1; break;