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 <[EMAIL PROTECTED]>
Signed-off-by: Patrick Georgi <[EMAIL PROTECTED]>
Acked-by: Peter Stuge <[EMAIL PROTECTED]>


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>>:


--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to