Author: oxygene Date: 2008-11-28 12:56:27 +0100 (Fri, 28 Nov 2008) New Revision: 3777
Modified: trunk/coreboot-v2/src/config/Config.lb trunk/coreboot-v2/util/newconfig/config.g Log: This patch fixes the ugly race condition created through build_opt_tbl running twice at the same time, overwriting its output files. This caused a depending rule to produce an object file with no symbols in it.
This should silence up the regularly happening build failure messages on the mailing list since we moved to the newer, much faster server.
Signed-off-by: Stefan Reinauer stepan@coresystems.de Signed-off-by: Patrick Georgi patrick.georgi@coresystems.de Acked-by: Peter Stuge peter@stuge.se
Modified: trunk/coreboot-v2/src/config/Config.lb =================================================================== --- trunk/coreboot-v2/src/config/Config.lb 2008-11-28 05:40:27 UTC (rev 3776) +++ trunk/coreboot-v2/src/config/Config.lb 2008-11-28 11:56:27 UTC (rev 3777) @@ -179,21 +179,16 @@ action "$(HOSTCC) $(HOSTCFLAGS) $(CPUFLAGS) $< -o $@" end
-makerule option_table.c +makerule option_table.h option_table.c depends "build_opt_tbl $(MAINBOARD)/cmos.layout" - action "./build_opt_tbl -b --config $(MAINBOARD)/cmos.layout --header option_table.h" + action "./build_opt_tbl -b --config $(MAINBOARD)/cmos.layout --header option_table.h --option option_table.c" end
-makerule option_table.h - depends "build_opt_tbl $(MAINBOARD)/cmos.layout" - action "./build_opt_tbl -b --config $(MAINBOARD)/cmos.layout --header option_table.h" -end - if HAVE_OPTION_TABLE object ./option_table.o end
-makerule clean +makerule clean action "rm -f coreboot.* *~" action "rm -f coreboot" action "rm -f ldscript.ld"
Modified: trunk/coreboot-v2/util/newconfig/config.g =================================================================== --- trunk/coreboot-v2/util/newconfig/config.g 2008-11-28 05:40:27 UTC (rev 3776) +++ trunk/coreboot-v2/util/newconfig/config.g 2008-11-28 11:56:27 UTC (rev 3777) @@ -1607,6 +1607,7 @@ token PATH: r'[-a-zA-Z0-9_.][-a-zA-Z0-9/_.]+[-a-zA-Z0-9_.]+' # Dir's on the other hand are abitrary # this may all be stupid. + token RULE: r'[-a-zA-Z0-9_$()./]+[-a-zA-Z0-9_ $()./]+[-a-zA-Z0-9_$()./]+' token DIRPATH: r'[-a-zA-Z0-9_$()./]+' token ID: r'[a-zA-Z_.]+[a-zA-Z0-9_.]*' token DELEXPR: r'{([^}]+|\.)*}' @@ -1703,13 +1704,10 @@ [ ELSE (stmt<<C and not c>>)* ] END
- rule depsacts<<ID, C>>: - ( DEPENDS STR {{ if (C): adddep(ID, STR) }} - | ACTION STR {{ if (C): addaction(ID, STR) }} + rule makerule<<C>>: MAKERULE RULE {{ if (C): addrule(RULE) }} + ( DEPENDS STR {{ if (C): adddep(RULE, STR) }} + | ACTION STR {{ if (C): addaction(RULE, STR) }} )* - - rule makerule<<C>>: MAKERULE DIRPATH {{ if (C): addrule(DIRPATH) }} - depsacts<<DIRPATH, C>> END
rule makedefine<<C>>: