Line 1... |
Line 1... |
/* Parse options for the GNU linker.
|
/* Parse options for the GNU linker.
|
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011
|
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012
|
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
|
|
This file is part of the GNU Binutils.
|
This file is part of the GNU Binutils.
|
|
|
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
Line 60... |
Line 60... |
static void set_default_dirlist (char *);
|
static void set_default_dirlist (char *);
|
static void set_section_start (char *, char *);
|
static void set_section_start (char *, char *);
|
static void set_segment_start (const char *, char *);
|
static void set_segment_start (const char *, char *);
|
static void help (void);
|
static void help (void);
|
|
|
/* Non-zero if we are processing a --defsym from the command line. */
|
|
int parsing_defsym = 0;
|
|
|
|
/* Codes used for the long options with no short synonyms. 150 isn't
|
/* Codes used for the long options with no short synonyms. 150 isn't
|
special; it's just an arbitrary non-ASCII char value. */
|
special; it's just an arbitrary non-ASCII char value. */
|
enum option_values
|
enum option_values
|
{
|
{
|
OPTION_ASSERT = 150,
|
OPTION_ASSERT = 150,
|
Line 727... |
Line 724... |
last_optind = -1;
|
last_optind = -1;
|
while (1)
|
while (1)
|
{
|
{
|
int longind;
|
int longind;
|
int optc;
|
int optc;
|
|
static unsigned int defsym_count;
|
|
|
/* Using last_optind lets us avoid calling ldemul_parse_args
|
/* Using last_optind lets us avoid calling ldemul_parse_args
|
multiple times on a single option, which would lead to
|
multiple times on a single option, which would lead to
|
confusion in the internal static variables maintained by
|
confusion in the internal static variables maintained by
|
getopt. This could otherwise happen for an argument like
|
getopt. This could otherwise happen for an argument like
|
Line 821... |
Line 819... |
case 'd':
|
case 'd':
|
command_line.force_common_definition = TRUE;
|
command_line.force_common_definition = TRUE;
|
break;
|
break;
|
case OPTION_DEFSYM:
|
case OPTION_DEFSYM:
|
lex_string = optarg;
|
lex_string = optarg;
|
lex_redirect (optarg);
|
lex_redirect (optarg, "--defsym", ++defsym_count);
|
parser_input = input_defsym;
|
parser_input = input_defsym;
|
parsing_defsym = 1;
|
|
yyparse ();
|
yyparse ();
|
parsing_defsym = 0;
|
|
lex_string = NULL;
|
lex_string = NULL;
|
break;
|
break;
|
case OPTION_DEMANGLE:
|
case OPTION_DEMANGLE:
|
demangling = TRUE;
|
demangling = TRUE;
|
if (optarg != NULL)
|
if (optarg != NULL)
|