aboutsummaryrefslogtreecommitdiff
path: root/ld/lexsup.c
diff options
context:
space:
mode:
Diffstat (limited to 'ld/lexsup.c')
-rw-r--r--ld/lexsup.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ld/lexsup.c b/ld/lexsup.c
index a0a5ad0..96babdd 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -47,6 +47,8 @@ unsigned long strtoul ();
static void set_default_dirlist PARAMS ((char *dirlist_ptr));
static void set_section_start PARAMS ((char *sect, char *valstr));
+/* Non-zero if we are processing a --defsym from the command line. */
+int parsing_defsym = 0;
void
parse_args (argc, argv)
@@ -260,9 +262,13 @@ parse_args (argc, argv)
command_line.force_common_definition = true;
break;
case OPTION_DEFSYM:
+ lex_string = optarg;
lex_redirect (optarg);
parser_input = input_defsym;
+ parsing_defsym = 1;
yyparse ();
+ parsing_defsym = 0;
+ lex_string = NULL;
break;
case OPTION_DYNAMIC_LINKER:
command_line.interpreter = optarg;