forked from Imagelibrary/binutils-gdb
2000-07-19 H.J. Lu <hjl@gnu.org>
* emulparams/elf32mcore.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.
* ldmain.c (main): Clear link_info.flags and link_info.flags_1.
* lexsup.c (ld_options): Comment out 'z'.
(parse_args): Likewise.
* emultempl/elf32.em: Include "elf/common.h".
(gld_${EMULATION_NAME}_parse_args): Defined. Handle some -z
options.
(gld_${EMULATION_NAME}_list_options): Likewise.
* ld.texinfo: Add documentation for the recognized -z options.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
'
|
||||
|
||||
Reference in New Issue
Block a user