summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2025-04-30 11:11:03 +0100
committerLeah Rowe <leah@libreboot.org>2025-04-30 11:11:03 +0100
commitbb5f5cd576321bf7d486277886722189064227ac (patch)
treea3396c45f228d1d87c5b3da1c4f263f44db5e42c
parent4f77125066d4675f60cee01c0670fba20ced94c5 (diff)
add pico-sdk backport patch fixing gcc 14.x
src/rp2_common/boot_stage2/boot2_w25x10cl.S:142: Error: junk at end of line, first unrecognized character is `0' src/rp2_common/boot_stage2/boot2_w25x10cl.S:145: Error: garbage following instruction -- `beq 00b' This should also fix it on Debian sid Experimental, where I'm testing with GCC 15 and other bleeding edge dependencies. Signed-off-by: Leah Rowe <leah@libreboot.org>
-rw-r--r--config/pico-sdk/patches/0001-Fix-GCC14.1-compile-error-in-w25x10cls.S-2000.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/config/pico-sdk/patches/0001-Fix-GCC14.1-compile-error-in-w25x10cls.S-2000.patch b/config/pico-sdk/patches/0001-Fix-GCC14.1-compile-error-in-w25x10cls.S-2000.patch
new file mode 100644
index 00000000..c52e701d
--- /dev/null
+++ b/config/pico-sdk/patches/0001-Fix-GCC14.1-compile-error-in-w25x10cls.S-2000.patch
@@ -0,0 +1,37 @@
+From 5c1f16cd723de3c2e0b57f1a34e2317cdabef294 Mon Sep 17 00:00:00 2001
+From: "Earle F. Philhower, III" <earlephilhower@yahoo.com>
+Date: Tue, 5 Nov 2024 12:06:04 -0800
+Subject: [PATCH 1/1] Fix GCC14.1 compile error in w25x10cls.S (#2000)
+
+GCC14 doesn't like the 2-character temporary label "00" and throws an error
+.../pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S: Assembler messages:
+.../pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S:147: Error: junk at end of line, first unrecognized character is `0'
+.../pico/rp2040/pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S:150: Error: garbage following instruction -- `beq 00b'
+
+Convert it to a single number, "1", like in other boot2xxx.S files
+
+Fixes #1999
+---
+ src/rp2_common/boot_stage2/boot2_w25x10cl.S | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/rp2_common/boot_stage2/boot2_w25x10cl.S b/src/rp2_common/boot_stage2/boot2_w25x10cl.S
+index 89d2cd1..1bf7e10 100644
+--- a/src/rp2_common/boot_stage2/boot2_w25x10cl.S
++++ b/src/rp2_common/boot_stage2/boot2_w25x10cl.S
+@@ -139,10 +139,10 @@ regular_func _stage2_boot
+ // status register and checking for the "RX FIFO Not Empty" flag to assert.
+
+ movs r1, #SSI_SR_RFNE_BITS
+-00:
++1:
+ ldr r0, [r3, #SSI_SR_OFFSET] // Read status register
+ tst r0, r1 // RFNE status flag set?
+- beq 00b // If not then wait
++ beq 1b // If not then wait
+
+ // At this point CN# will be deasserted and the SPI clock will not be running.
+ // The Winbond WX25X10CL device will be in continuous read, dual I/O mode and
+--
+2.39.5
+