From b2009ff75163e3df981a37a2fce035c6514ed7d3 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 28 Jul 2000 01:53:29 +0000 Subject: 2000-07-27 H.J. Lu * emulparams/elf64alpha.sh (PARSE_AND_LIST_ARGS): Removed. (PARSE_AND_LIST_PROLOGUE): New. (PARSE_AND_LIST_LONGOPTS): Likewise. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. (PARSE_AND_LIST_EPILOGUE): Likewise. --- ld/ChangeLog | 9 +++++++ ld/emulparams/elf64alpha.sh | 64 +++++++++++---------------------------------- 2 files changed, 24 insertions(+), 49 deletions(-) (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index 9bf466b..2c3aaf2 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +2000-07-27 H.J. Lu + + * emulparams/elf64alpha.sh (PARSE_AND_LIST_ARGS): Removed. + (PARSE_AND_LIST_PROLOGUE): New. + (PARSE_AND_LIST_LONGOPTS): Likewise. + (PARSE_AND_LIST_OPTIONS): Likewise. + (PARSE_AND_LIST_ARGS_CASES): Likewise. + (PARSE_AND_LIST_EPILOGUE): Likewise. + 2000-07-28 Alan Modra * emultempl/armelf.em: Elide functions common to elf32.em, diff --git a/ld/emulparams/elf64alpha.sh b/ld/emulparams/elf64alpha.sh index c3e4e52..908a6c0 100644 --- a/ld/emulparams/elf64alpha.sh +++ b/ld/emulparams/elf64alpha.sh @@ -16,60 +16,27 @@ OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }' # 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_TASO 300 /* Set the start address as in the Tru64 ld */ #define ALPHA_TEXT_START_32BIT 0x12000000 static int elf64alpha_32bit = 0; -static struct option longopts[] = -{ - {"taso", no_argument, NULL, OPTION_TASO}, - {NULL, no_argument, NULL, 0} -}; - -static void -gld_elf64alpha_list_options (file) - FILE * file; -{ - fprintf (file, _( -" -taso Load executable in the lower 31-bit addressable - virtual address range.\n")); -} - struct ld_emulation_xfer_struct ld_elf64alpha_emulation; static void gld_elf64alpha_finish (); +' -static int -gld_elf64alpha_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; +PARSE_AND_LIST_LONGOPTS=' + {"taso", no_argument, NULL, OPTION_TASO}, +' - 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, _(" -taso\t\t\tLoad executable in the lower 31-bit addressable\n")); + fprintf (file, _("\t\t\t virtual address range\n")); +' +PARSE_AND_LIST_ARGS_CASES=' case EOF: if (elf64alpha_32bit && !link_info.shared && !link_info.relocateable) { @@ -84,17 +51,16 @@ gld_elf64alpha_parse_args (argc, argv) case OPTION_TASO: elf64alpha_32bit = 1; break; - } - - return 1; -} +' +PARSE_AND_LIST_EPILOGUE=' #include "elf/internal.h" #include "elf/alpha.h" #include "elf-bfd.h" static void -gld_elf64alpha_finish () +gld_elf64alpha_finish() { elf_elfheader (output_bfd)->e_flags |= EF_ALPHA_32BIT; -}' +} +' -- cgit v1.1