PR24411, Division is not accepted in MEMORY length expression
Alan Modra
amodra@gmail.com
Wed Apr 3 02:29:00 GMT 2019
Let's hope no one has section names starting with '/' in scripts. If
they do, this change to fix parsing of '/' in expressiongs will break
their project.
PR 24411
ldlex.l (SYMBOLNAMECHAR1): Don't match '/'.
(<EXPRESSION>"/DISCARD/"): New.
diff --git a/ld/ldlex.l b/ld/ldlex.l
index 6e73a7fb65..c2abc59571 100644
--- a/ld/ldlex.l
+++ b/ld/ldlex.l
@@ -96,7 +96,7 @@ FILENAMECHAR [_a-zA-Z0-9\/\.\\\$\~\-\+\:\[\]\,\=]
NOCFILENAMECHAR [_a-zA-Z0-9\/\.\\\$\~\-\+\:\[\]]
SYMBOLNAMECHAR [_a-zA-Z0-9\/\.\\\$\~]
FILENAMECHAR1 [_a-zA-Z\/\.\\\$\~]
-SYMBOLNAMECHAR1 [_a-zA-Z\/\.\\\$]
+SYMBOLNAMECHAR1 [_a-zA-Z\.\\\$]
WHITE [ \t\n\r]+
V_TAG [.$_a-zA-Z][._a-zA-Z0-9]*
@@ -388,6 +388,10 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
yylval.name = xstrdup (yytext);
return NAME;
}
+<EXPRESSION>"/DISCARD/" {
+ yylval.name = xstrdup (yytext);
+ return NAME;
+ }
<EXPRESSION>"-l"{NOCFILENAMECHAR}+ {
yylval.name = xstrdup (yytext + 2);
return LNAME;
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list