diff options
Diffstat (limited to 'ld/emulparams')
-rw-r--r-- | ld/emulparams/elf32mcore.sh | 57 |
1 files changed, 9 insertions, 48 deletions
diff --git a/ld/emulparams/elf32mcore.sh b/ld/emulparams/elf32mcore.sh index b1f7b8c..2d06387 100644 --- a/ld/emulparams/elf32mcore.sh +++ b/ld/emulparams/elf32mcore.sh @@ -33,54 +33,20 @@ GENERATE_SHLIB_SCRIPT=yes # This code gets inserted into the generic elf32.sc linker script # and allows us to define our own command line switches. -PARSE_AND_LIST_ARGS=' - +PARSE_AND_LIST_PROLOGUE=' #define OPTION_BASE_FILE 300 +' -#include "getopt.h" - -static struct option longopts[] = -{ +PARSE_AND_LIST_LONGOPTS=' {"base-file", required_argument, NULL, OPTION_BASE_FILE}, - {NULL, no_argument, NULL, 0} -}; - -static void -gld_elf32mcore_list_options (file) - FILE * file; -{ - fprintf (file, _(" --base_file <basefile> Generate a base file for relocatable DLLs\n")); -} - -static int -gld_elf32mcore_parse_args (argc, argv) - int argc; - char ** argv; -{ - int longind; - int optc; - int prevoptind = optind; - int prevopterr = opterr; - int wanterror; - static int lastoptind = -1; - - if (lastoptind != optind) - opterr = 0; - - wanterror = opterr; - lastoptind = optind; - - optc = getopt_long_only (argc, argv, "-", longopts, & longind); - opterr = prevopterr; +' - switch (optc) - { - default: - if (wanterror) - xexit (1); - optind = prevoptind; - return 0; +PARSE_AND_LIST_OPTIONS=' + fprintf (file, _(" --base_file <basefile>\n")); + fprintf (file, _("\t\t\tGenerate a base file for relocatable DLLs\n")); +' +PARSE_AND_LIST_ARGS_CASES=' case OPTION_BASE_FILE: link_info.base_file = (PTR) fopen (optarg, FOPEN_WB); if (link_info.base_file == NULL) @@ -91,9 +57,4 @@ gld_elf32mcore_parse_args (argc, argv) xexit (1); } break; - } - - return 1; -} - ' |