-----Original Message----- From: ron minnich [mailto:rminnich@gmail.com] Sent: Monday, April 20, 2009 5:33 PM To: Carl-Daniel Hailfinger Cc: Myles Watson; Coreboot Subject: Re: [coreboot] [PATCH] Factor out ROM size calculation from Config.lb
so send me a Config.lb fragment that tickles the bug and I'll look
Just delete the
if USE_FALLBACK_IMAGE end
from the end of the include file. It'll break.
+## This is needed to work around a parser bug. +if USE_FALLBACK_IMAGE +end
INSTANCE 0 INCLUDE config/nofailovercalculation.lb Trying to find one of NUM, HEX_PREFIX, ID, "\(", "!" on line 34:
^
List of nearby tokens: (@945) NUM = '1024' (@950) DEFAULT = 'default' (@958) ID = 'XIP_ROM_BASE' (@971) EQ = '=' (@973) ID = '_ROMBASE' (@982) "-" = '-' (@984) ID = 'XIP_ROM_SIZE' (@997) "[+]" = '+' (@999) ID = 'ROM_IMAGE_SIZE' (@1014) "||" = '' ===> ERROR: Could not parse file tyan/s2892/Config.lb:0
I don't know why the parser is matching blank space with "||"
The reason I included this snippet is because I removed it so I could see what the parser bug was. It looks like it expects the expression to continue if it doesn't find an if. For some reason it matches the empty string with "||" and looks for the next piece of the expression. I took out the || rule and that also solves the problem. "&&" didn't match the empty string.
Thanks, Myles