opensbi-unstable/0001-fw_payload.S-allow-FDT...

39 lines
1.2 KiB
Diff
Raw Normal View History

From 1b6984db98e8d2b8ee223131080251cfc05be556 Mon Sep 17 00:00:00 2001
From: David Abdurachmanov <david.abdurachmanov@sifive.com>
Date: Wed, 23 Oct 2019 10:12:54 +0300
Subject: [PATCH] fw_payload.S: allow FDT payload where size is not 16-byte
aligned
Resolves the follow compilation error (payload variant for SiFive FU540 with
U-Boot and embedded FDT):
/usr/bin/ld: /build/platform/sifive/fu540/firmware/fw_payload.o(.text+0x1961): 15 bytes required for alignment to 16-byte boundary, but only 14 present
/usr/bin/ld: can't relax section: bad value
collect2: error: ld returned 1 exit status
Noticed while compiling 5.4-rc3+ kernel in Fedora/RISCV.
For more details see:
https://github.com/riscv/riscv-gnu-toolchain/issues/298
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
---
firmware/fw_payload.S | 1 +
1 file changed, 1 insertion(+)
diff --git a/firmware/fw_payload.S b/firmware/fw_payload.S
index 4b4527a..702e150 100644
--- a/firmware/fw_payload.S
+++ b/firmware/fw_payload.S
@@ -85,6 +85,7 @@ fw_options:
add a0, zero, zero
ret
+.option norelax
#ifdef FW_PAYLOAD_FDT_PATH
.align 4
.section .text, "ax", %progbits
--
2.21.0