Another ld script backtrack

Alan Modra amodra@gmail.com
Wed Aug 18 04:08:37 GMT 2021


Another case where an expression might be following by a NAME.

	* ldgram.y (length_spec): Throw away look-ahead NAME.

diff --git a/ld/ldgram.y b/ld/ldgram.y
index a0c881e9a73..c8396bbfd5b 100644
--- a/ld/ldgram.y
+++ b/ld/ldgram.y
@@ -809,6 +809,11 @@ origin_spec:
 length_spec:
 	     LENGTH '=' mustbe_exp
 		{
+		  if (yychar == NAME)
+		    {
+		      yyclearin;
+		      ldlex_backup ();
+		    }
 		  region->length_exp = $3;
 		}
 	;

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list