mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 13:27:26 +08:00
Re: PR28217, Syntax error when memory region contains a hyphen
I discovered some more errors when tightening up the lexer rules. Just because we INCLUDE a file doesn't mean we've switched states. PR 28217 * ldgram.y (statement): Don't switch lexer state on INCLUDE. (mri_script_command, ifile_p1, memory_spec, section): Likewise.
This commit is contained in:
13
ld/ldgram.y
13
ld/ldgram.y
@ -248,9 +248,8 @@ mri_script_command:
|
|||||||
| CASE casesymlist
|
| CASE casesymlist
|
||||||
| EXTERN extern_name_list
|
| EXTERN extern_name_list
|
||||||
| INCLUDE filename
|
| INCLUDE filename
|
||||||
{ ldlex_script (); ldfile_open_command_file($2); }
|
{ ldfile_open_command_file ($2); }
|
||||||
mri_script_lines END
|
mri_script_lines END
|
||||||
{ ldlex_popstate (); }
|
|
||||||
| START NAME
|
| START NAME
|
||||||
{ lang_add_entry ($2, false); }
|
{ lang_add_entry ($2, false); }
|
||||||
|
|
|
|
||||||
@ -346,9 +345,8 @@ ifile_p1:
|
|||||||
| MAP '(' filename ')'
|
| MAP '(' filename ')'
|
||||||
{ lang_add_map($3); }
|
{ lang_add_map($3); }
|
||||||
| INCLUDE filename
|
| INCLUDE filename
|
||||||
{ ldlex_script (); ldfile_open_command_file($2); }
|
{ ldfile_open_command_file ($2); }
|
||||||
ifile_list END
|
ifile_list END
|
||||||
{ ldlex_popstate (); }
|
|
||||||
| NOCROSSREFS '(' nocrossref_list ')'
|
| NOCROSSREFS '(' nocrossref_list ')'
|
||||||
{
|
{
|
||||||
lang_add_nocrossref ($3);
|
lang_add_nocrossref ($3);
|
||||||
@ -697,11 +695,9 @@ statement:
|
|||||||
}
|
}
|
||||||
| INCLUDE filename
|
| INCLUDE filename
|
||||||
{
|
{
|
||||||
ldlex_script ();
|
|
||||||
ldfile_open_command_file ($2);
|
ldfile_open_command_file ($2);
|
||||||
}
|
}
|
||||||
statement_list_opt END
|
statement_list_opt END
|
||||||
{ ldlex_popstate (); }
|
|
||||||
;
|
;
|
||||||
|
|
||||||
statement_list:
|
statement_list:
|
||||||
@ -814,9 +810,8 @@ memory_spec: NAME
|
|||||||
origin_spec opt_comma length_spec
|
origin_spec opt_comma length_spec
|
||||||
{}
|
{}
|
||||||
| INCLUDE filename
|
| INCLUDE filename
|
||||||
{ ldlex_script (); ldfile_open_command_file($2); }
|
{ ldfile_open_command_file ($2); }
|
||||||
memory_spec_list_opt END
|
memory_spec_list_opt END
|
||||||
{ ldlex_popstate (); }
|
|
||||||
;
|
;
|
||||||
|
|
||||||
origin_spec:
|
origin_spec:
|
||||||
@ -1117,11 +1112,9 @@ section: NAME
|
|||||||
'{' sec_or_group_p1 '}'
|
'{' sec_or_group_p1 '}'
|
||||||
| INCLUDE filename
|
| INCLUDE filename
|
||||||
{
|
{
|
||||||
ldlex_script ();
|
|
||||||
ldfile_open_command_file ($2);
|
ldfile_open_command_file ($2);
|
||||||
}
|
}
|
||||||
sec_or_group_p1 END
|
sec_or_group_p1 END
|
||||||
{ ldlex_popstate (); }
|
|
||||||
;
|
;
|
||||||
|
|
||||||
type:
|
type:
|
||||||
|
Reference in New Issue
Block a user