diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2008-11-28 11:56:27 +0000 |
---|---|---|
committer | Patrick Georgi <patrick.georgi@coresystems.de> | 2008-11-28 11:56:27 +0000 |
commit | 38bee3c8b6ca49031b30e3a8f974fe0690560de3 (patch) | |
tree | ba91ee2e9fed5fef82f68edf8c99c338768a1fe3 | |
parent | d95e43cc8f66203a8287f8a7c54ecc3ab74436e6 (diff) |
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>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3777 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r-- | src/config/Config.lb | 11 | ||||
-rw-r--r-- | util/newconfig/config.g | 10 |
2 files changed, 7 insertions, 14 deletions
diff --git a/src/config/Config.lb b/src/config/Config.lb index 43d6ecdeb0..a9de434071 100644 --- a/src/config/Config.lb +++ b/src/config/Config.lb @@ -179,21 +179,16 @@ makerule build_opt_tbl 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" -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" + action "./build_opt_tbl -b --config $(MAINBOARD)/cmos.layout --header option_table.h --option option_table.c" 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" diff --git a/util/newconfig/config.g b/util/newconfig/config.g index 26cee432dc..93e36bbde2 100644 --- a/util/newconfig/config.g +++ b/util/newconfig/config.g @@ -1607,6 +1607,7 @@ parser Config: 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 @@ parser Config: [ 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>>: |