* ld.h (parsing_defsym): Declare.

* ldlex.h (lex_string): Declare.
	* ldlex.l (lex_string): Define.
	* lexsup.c (parsing_defsym): Define.
	(parse_args): In OPTION_DEFSYM case, set lex_string before calling
	lex_redirect, and clear it after calling yyparse.  Set
	parsing_defsym around call to yyparse.
	* ldmain.c (main): Set lex_string before calling lex_redirect, and
	clear it after calling yyparse.
	* ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
	in linker scripts correctly.
PR 8092.
This commit is contained in:
Ian Lance Taylor 1995-09-28 19:18:07 +00:00
parent a69bb1fa31
commit 630f4ac9c6
2 changed files with 18 additions and 0 deletions

View File

@ -1,5 +1,17 @@
Thu Sep 28 12:34:13 1995 Ian Lance Taylor <ian@cygnus.com>
* ld.h (parsing_defsym): Declare.
* ldlex.h (lex_string): Declare.
* ldlex.l (lex_string): Define.
* lexsup.c (parsing_defsym): Define.
(parse_args): In OPTION_DEFSYM case, set lex_string before calling
lex_redirect, and clear it after calling yyparse. Set
parsing_defsym around call to yyparse.
* ldmain.c (main): Set lex_string before calling lex_redirect, and
clear it after calling yyparse.
* ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
in linker scripts correctly.
* scripttempl/sparccoff.sc: Add .ctors/.dtors handling like other
COFF targets, allowing for the leading underscore used on SPARC
COFF.

View File

@ -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;