diff options
Diffstat (limited to 'ld/lexsup.c')
-rw-r--r-- | ld/lexsup.c | 6 |
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; |