[coreboot-gerrit] New patch to review for coreboot: a8eadb5 ROMCC: Trigger internal compiler failure and apply the workaround

Kyösti Mälkki (kyosti.malkki@gmail.com) gerrit at coreboot.org
Fri Mar 7 09:55:59 CET 2014


Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5349

-gerrit

commit a8eadb527e793d887ba73e5478ea614734cd72b6
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date:   Fri Mar 7 10:40:21 2014 +0200

    ROMCC: Trigger internal compiler failure and apply the workaround
    
    These boards first failed when attempting to change print_err() from
    direct function call to console_tx_XX() to a code block in the form of
    
     do { if (y) console_tx_XX(x); } while(0)
    
    Removing the label dummy_romcc_workaround_label added here will
    trigger the following compiler error for the two boards:
    
      Internal compiler error: no edge to block->last->next
    
    Change-Id: I997adfaf586d7fa2096401dd574b07ce676d0ac6
    Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
 src/mainboard/digitallogic/msm586seg/romstage.c | 5 +++++
 src/mainboard/technologic/ts5300/romstage.c     | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/src/mainboard/digitallogic/msm586seg/romstage.c b/src/mainboard/digitallogic/msm586seg/romstage.c
index 9f3da08..e67ec68 100644
--- a/src/mainboard/digitallogic/msm586seg/romstage.c
+++ b/src/mainboard/digitallogic/msm586seg/romstage.c
@@ -169,6 +169,11 @@ static void main(unsigned long bist)
 		print_err("HI THERE!\n");
 		//			sizemem();
 	staticmem();
+
+/* Void warranty when label is removed. */
+dummy_romcc_workaround_label:
+	do { } while (0);
+
 	print_err("c60 is "); print_err_hex16(*(unsigned short *)0xfffefc60);
 	print_err("\n");
 
diff --git a/src/mainboard/technologic/ts5300/romstage.c b/src/mainboard/technologic/ts5300/romstage.c
index 6806187..453cecc 100644
--- a/src/mainboard/technologic/ts5300/romstage.c
+++ b/src/mainboard/technologic/ts5300/romstage.c
@@ -153,6 +153,11 @@ static void main(unsigned long bist)
 
 	print_err("Technologic Systems TS5300 - http://www.embeddedx86.com/\n");
 	staticmem();
+
+/* Void warranty when label is removed. */
+dummy_romcc_workaround_label:
+	do { } while (0);
+
 	print_err("Memory initialized: 32MB\n");
 
 #if 1



More information about the coreboot-gerrit mailing list