diff options
author | Alan Modra <amodra@gmail.com> | 2012-02-17 14:09:57 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-02-17 14:09:57 +0000 |
commit | dab69f680baf93b577f85c1a9344d7ea7996f466 (patch) | |
tree | d39b8e854f707ee6bd0dba8e73c3a8d79cd1ae22 /ld/ldgram.y | |
parent | 9e507076870544c11dc3711e836d6803f30e7658 (diff) | |
download | gdb-dab69f680baf93b577f85c1a9344d7ea7996f466.zip gdb-dab69f680baf93b577f85c1a9344d7ea7996f466.tar.gz gdb-dab69f680baf93b577f85c1a9344d7ea7996f466.tar.bz2 |
PR ld/13343
* ld.h (parsing_defsym): Delete.
* ldexp.c (exp_intop, exp_bigintop, exp_relop): Set type.filename.
(fold_binary, fold_name, exp_fold_tree_1, exp_get_vma, exp_get_fill,
exp_get_abs_int): Add tree arg for %S in error messages. Don't
fudge lineno.
(exp_binop, exp_unop, exp_nameop, exp_assop, exp_assert): Copy
type.filename from sub-tree.
(exp_trinop): Likewise, and use "cond" rather than "lhs".
* ldexp.h (node_type): Add filename field to struct.
* ldfile.c (ldfile_input_filename): Delete. Remove all refs.
* ldfile.h (ldfile_input_filename): Delete.
* ldgram.y (phdr_type, phdr_qualifiers, yyerror): Add NULL arg for
%S in error messages.
* ldemul.c (syslib_default, hll_default): Likewise.
* ldlang.c (lang_memory_region_lookup, lang_memory_region_alias,
lang_get_regions, lang_new_phdr): Likewise.
(lang_size_sections_1): Pass addr_tree for %S.
* ldlex.h (lex_redirect): Update prototype.
(ldlex_filename): Declare.
* ldlex.l (<EOF>): Don't set ldfile_input_filename.
(lex_redirect): Add fake_filename and count params. Push
fake_filename to file_name_stack and init lineno from count.
(ldlex_filename): New function.
(lex_warn_invalid): Use above.
* ldmain.c (main): Update lex_redirect call.
* ldmisc.c (vfinfo <%S>): Take file name and line number from
etree_type arg, or use current if arg is NULL.
* lexsup.c (parsing_defsym): Delete.
(parse_args <OPTION_DEFSYM>): Update lex_redirect call.
Diffstat (limited to 'ld/ldgram.y')
-rw-r--r-- | ld/ldgram.y | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/ld/ldgram.y b/ld/ldgram.y index c4f163f..b8b5008 100644 --- a/ld/ldgram.y +++ b/ld/ldgram.y @@ -1,6 +1,6 @@ /* A YACC grammar to parse a superset of the AT&T linker scripting language. Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Written by Steve Chamberlain of Cygnus Support (steve@cygnus.com). @@ -1219,7 +1219,7 @@ phdr_type: { einfo (_("\ %X%P:%S: unknown phdr type `%s' (try integer literal)\n"), - s); + NULL, s); $$ = exp_intop (0); } } @@ -1242,7 +1242,8 @@ phdr_qualifiers: else if (strcmp ($1, "FLAGS") == 0 && $2 != NULL) $$.flags = $2; else - einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"), $1); + einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"), + NULL, $1); } | AT '(' exp ')' phdr_qualifiers { @@ -1448,9 +1449,9 @@ yyerror(arg) { if (ldfile_assumed_script) einfo (_("%P:%s: file format not recognized; treating as linker script\n"), - ldfile_input_filename); + ldlex_filename ()); if (error_index > 0 && error_index < ERROR_NAME_MAX) - einfo ("%P%F:%S: %s in %s\n", arg, error_names[error_index-1]); + einfo ("%P%F:%S: %s in %s\n", NULL, arg, error_names[error_index - 1]); else - einfo ("%P%F:%S: %s\n", arg); + einfo ("%P%F:%S: %s\n", NULL, arg); } |