boot/opensbi: unconditionally disable SSP
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Sat, 8 May 2021 19:41:55 +0000 (21:41 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 12 May 2021 07:43:18 +0000 (09:43 +0200)
Fix build failure raised since commit
810ba387bec3c5b6904e8893fb4cb6f9d3717466

Fixes:
 - https://gitlab.com/kubu93/buildroot/-/jobs/1247043359

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
boot/opensbi/0002-Makefile-unconditionally-disable-SSP.patch [new file with mode: 0644]

diff --git a/boot/opensbi/0002-Makefile-unconditionally-disable-SSP.patch b/boot/opensbi/0002-Makefile-unconditionally-disable-SSP.patch
new file mode 100644 (file)
index 0000000..c4edd37
--- /dev/null
@@ -0,0 +1,53 @@
+From e389d5fbc296e496db15368b2b621e0f178f7f34 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sat, 8 May 2021 21:28:10 +0200
+Subject: [PATCH] Makefile: unconditionally disable SSP
+
+Though -nostdlib is passed in {C,+AS,DTSCPP}FLAGS, -fno-stack-protector
+must also be passed to avoid linking errors related to undefined
+references to '__stack_chk_guard' and '__stack_chk_fail' if toolchain
+enforces -fstack-protector.
+
+Fixes:
+ - https://gitlab.com/kubu93/buildroot/-/jobs/1247043359
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/riscv/opensbi/pull/211]
+---
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index eeffe6b..1419360 100644
+--- a/Makefile
++++ b/Makefile
+@@ -203,7 +203,7 @@ GENFLAGS   +=      $(libsbiutils-genflags-y)
+ GENFLAGS      +=      $(platform-genflags-y)
+ GENFLAGS      +=      $(firmware-genflags-y)
+-CFLAGS                =       -g -Wall -Werror -ffreestanding -nostdlib -fno-strict-aliasing -O2
++CFLAGS                =       -g -Wall -Werror -ffreestanding -nostdlib -fno-stack-protector -fno-strict-aliasing -O2
+ CFLAGS                +=      -fno-omit-frame-pointer -fno-optimize-sibling-calls
+ CFLAGS                +=      -mno-save-restore -mstrict-align
+ CFLAGS                +=      -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA)
+@@ -217,7 +217,7 @@ CPPFLAGS   +=      $(GENFLAGS)
+ CPPFLAGS      +=      $(platform-cppflags-y)
+ CPPFLAGS      +=      $(firmware-cppflags-y)
+-ASFLAGS               =       -g -Wall -nostdlib -D__ASSEMBLY__
++ASFLAGS               =       -g -Wall -nostdlib -fno-stack-protector -D__ASSEMBLY__
+ ASFLAGS               +=      -fno-omit-frame-pointer -fno-optimize-sibling-calls
+ ASFLAGS               +=      -mno-save-restore -mstrict-align
+ ASFLAGS               +=      -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA)
+@@ -236,7 +236,7 @@ MERGEFLAGS +=      -r
+ MERGEFLAGS    +=      -b elf$(PLATFORM_RISCV_XLEN)-littleriscv
+ MERGEFLAGS    +=      -m elf$(PLATFORM_RISCV_XLEN)lriscv
+-DTSCPPFLAGS   =       $(CPPFLAGS) -nostdinc -nostdlib -fno-builtin -D__DTS__ -x assembler-with-cpp
++DTSCPPFLAGS   =       $(CPPFLAGS) -nostdinc -nostdlib -fno-stack-protector -fno-builtin -D__DTS__ -x assembler-with-cpp
+ # Setup functions for compilation
+ define dynamic_flags
+-- 
+2.30.2
+