From 233f5b3b0ed27348b68fbaa453184d4fdb7fa0dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Fri, 7 Mar 2014 10:40:21 +0200 Subject: ROMCC: Trigger internal compiler failure and apply the workaround MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: http://review.coreboot.org/5349 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc --- 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 9f3da08b96..e67ec684b4 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 6806187296..453ceccb11 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 -- cgit v1.2.3