boot/afboot-stm32: add patch fixing build issue with recent binutils
The afboot-stm32 build system was initially linking with gcc, but that was changed upstream following a Buildroot contribution to use ld instead. However, the build system was still passing -nostartfiles, which is a gcc option. By luck, this option was simply ignored by older versions of ld (such as binutils 2.32), but newer versions of ld (2.36 and newer, at least) no longer accept/ignore this option. This commit adds a patch that drops the use of this option, since it is useless for ld. The first patch is slightly updated because the upstream pull request has been updated to contain both build fixes. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
parent
2449d9c9dd
commit
cf5206ea98
@ -1,4 +1,4 @@
|
||||
From 5448f328ff63a6ca4a64519c2f1dfc63a33df4b7 Mon Sep 17 00:00:00 2001
|
||||
From 9901603e18524c4c52fd1dd47bda4ab4016628fc Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Date: Thu, 10 Sep 2020 11:37:33 +0200
|
||||
Subject: [PATCH] Pass -fno-builtin to fix build with gcc 10
|
||||
@ -23,7 +23,7 @@ stm32f429i-disco.c:(.text.reset+0x1a): undefined reference to `memcpy'
|
||||
/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: stm32f429i-disco.c:(.text.reset+0x34): undefined reference to `memset'
|
||||
make[1]: *** [Makefile:26: stm32f429i-disco] Error 1
|
||||
|
||||
Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/9
|
||||
Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/11
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
Makefile | 1 +
|
||||
@ -42,5 +42,5 @@ index f699176..1e8557d 100644
|
||||
|
||||
obj-y += gpio.o mpu.o qspi.o start_kernel.o
|
||||
--
|
||||
2.26.2
|
||||
2.35.1
|
||||
|
||||
|
40
boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch
Normal file
40
boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From be760c062c5d05bd2223f3916afafd37120d3318 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Date: Thu, 28 Apr 2022 22:47:09 +0200
|
||||
Subject: [PATCH] Makefile: drop -nostartfiles
|
||||
|
||||
In commit 0f3e61c9dd48fd8b4248ce4672c044c2562e4de1 ("Use ld instead of
|
||||
gcc for linking "), we started using ld instead of gcc for the link
|
||||
step. This worked fine for a while, but recent versions of ld no
|
||||
longer accept the -nostartfiles option, causing the build to break:
|
||||
|
||||
Error: unable to disambiguate: -nostartfiles (did you mean --nostartfiles ?)
|
||||
|
||||
In fact, -nostartfiles was passed to gcc prior to
|
||||
0f3e61c9dd48fd8b4248ce4672c044c2562e4de1, but it is not a ld
|
||||
option. It is only by luck that it was accepted and ignored by older
|
||||
ld versions. Since this option is useless when calling ld directly, we
|
||||
can simply drop it.
|
||||
|
||||
Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/11
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 1e8557d..8f42be1 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -14,7 +14,7 @@ CFLAGS := -mthumb -mcpu=cortex-m4
|
||||
CFLAGS += -ffunction-sections -fdata-sections
|
||||
CFLAGS += -Os -std=gnu99 -Wall
|
||||
CFLAGS += -fno-builtin
|
||||
-LINKERFLAGS := -nostartfiles --gc-sections
|
||||
+LINKERFLAGS := --gc-sections
|
||||
|
||||
obj-y += gpio.o mpu.o qspi.o start_kernel.o
|
||||
obj-f4 += $(obj-y) usart-f4.o
|
||||
--
|
||||
2.35.1
|
||||
|
Loading…
Reference in New Issue
Block a user