initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
Enforce correct -march option
Buildroot uses a normal ARM compiler to build the AM33X CM3 firmware
(which runs on a Cortex-M3 processor), but Buildroot will have a
default -march value that doesn't necessarily match the one needed for
Cortex-M3, leading to build failures (gcc complains that the
-mcpu=cortex-m3 option being passed is not compatible with the
selected -march).
Fix this by explicitly indicating -march=armv7-m.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Updated the patch to the latest version of the Makefile
Signed-off-by: Anders Darander <anders@chargestorm.se>
Index: b/Makefile
===================================================================
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ SRCDIR = src
BINDIR = bin
INCLUDES = $(SRCDIR)/include
-CFLAGS =-mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \
+CFLAGS =-march=armv7-m -mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \
-Werror-implicit-function-declaration -Wstrict-prototypes \
-Wdeclaration-after-statement -fno-delete-null-pointer-checks \
-Wempty-body -fno-strict-overflow -g -I$(INCLUDES) -O2
@@ -0,0 +1,35 @@
From 6c3b05b74ccd49d8ba246bfef0c2e549b9f2bf7b Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Tue, 29 Oct 2019 16:14:18 +0100
Subject: [PATCH] Makefile: unconditionally disable SSP
Though -nostdlib is passed in $(CFLAGS), -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:
- http://autobuild.buildroot.net/results/3a3a21f3c35ea025e9b93e09c2454aed0ad31034
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index c3ec071..5226006 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,8 @@ INCLUDES = $(SRCDIR)/include
CFLAGS =-march=armv7-m -mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \
-Werror-implicit-function-declaration -Wstrict-prototypes \
-Wdeclaration-after-statement -fno-delete-null-pointer-checks \
- -Wempty-body -fno-strict-overflow -g -I$(INCLUDES) -O2
+ -Wempty-body -fno-strict-overflow -fno-stack-protector \
+ -g -I$(INCLUDES) -O2
LDFLAGS =-nostartfiles -fno-exceptions -Tfirmware.ld
EXECUTABLE=am335x-pm-firmware.elf
--
2.23.0
@@ -0,0 +1,33 @@
From 0e8c3c4851ce64268a8ae1810ef72594251d917d Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sun, 10 Nov 2019 21:57:12 +0100
Subject: [PATCH] Makefile: unconditionally disable PIE
Though -nostdlib is passed in $(CFLAGS), -fno-pie must also be passed to
avoid linking errors related to overlapping sections if toolchain
enforces PIE.
Fixes:
- http://autobuild.buildroot.org/results/418a40b995e91bc66e692dfbc4b0521db3fa5fbb
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 5226006..fe3d844 100644
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@ CFLAGS =-march=armv7-m -mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \
-Werror-implicit-function-declaration -Wstrict-prototypes \
-Wdeclaration-after-statement -fno-delete-null-pointer-checks \
-Wempty-body -fno-strict-overflow -fno-stack-protector \
- -g -I$(INCLUDES) -O2
+ -fno-pie -g -I$(INCLUDES) -O2
LDFLAGS =-nostartfiles -fno-exceptions -Tfirmware.ld
EXECUTABLE=am335x-pm-firmware.elf
--
2.23.0
@@ -0,0 +1,41 @@
From 25fc567ba8a0cd199e48bfa82863247d953784ea Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sun, 30 Aug 2020 20:59:29 +0200
Subject: [PATCH] Makefile: add -fno-builtin
Build with gcc 10 fails on:
/srv/storage/autobuild/run/instance-2/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: src/foundation/startup.o: in function `reset_handler':
/srv/storage/autobuild/run/instance-2/output-1/build/am33x-cm3-11107db2f1e9e58ee75d4fe9cc38423c9a6e4365/src/foundation/startup.c:177: undefined reference to `memcpy'
This is due to the fact that gcc 10 replaces the following statement by
a memcpy call:
*puldest++ = *pulsrc++;
To fix this build failure, add -fno-builtin
Fixes:
- http://autobuild.buildroot.org/results/a991e6efa012df518ff1bb35017ad2c96c8feedc
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index fe3d844..fa24d4b 100644
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@ CFLAGS =-march=armv7-m -mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \
-Werror-implicit-function-declaration -Wstrict-prototypes \
-Wdeclaration-after-statement -fno-delete-null-pointer-checks \
-Wempty-body -fno-strict-overflow -fno-stack-protector \
- -fno-pie -g -I$(INCLUDES) -O2
+ -fno-pie -fno-builtin -g -I$(INCLUDES) -O2
LDFLAGS =-nostartfiles -fno-exceptions -Tfirmware.ld
EXECUTABLE=am335x-pm-firmware.elf
--
2.28.0
+8
View File
@@ -0,0 +1,8 @@
config BR2_PACKAGE_AM33X_CM3
bool "am33x-cm3"
depends on BR2_arm # only relevant for TI am335x
depends on BR2_BINFMT_ELF # assumes the compiler builds ELF file
help
Cortex-M3 binary blob for suspend-resume on am335x
http://arago-project.org/git/projects/am33x-cm3.git
@@ -0,0 +1,6 @@
#!/bin/sh
# Load the PM CM3 firmware
echo 1 > /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
cat /lib/firmware/am335x-pm-firmware.bin > /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/data
echo 0 > /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
+3
View File
@@ -0,0 +1,3 @@
# Locally computed
sha256 c0b11d7ed2300172354f2948e858ddb5cae19d084bd1ab6d48cfa7b6bfa13261 am33x-cm3-11107db2f1e9e58ee75d4fe9cc38423c9a6e4365-br1.tar.gz
sha256 e136e6949a1d3ca144374375af8b9387faa11d2eee7debff8cf22ca8fe7bf7e9 License.txt
+31
View File
@@ -0,0 +1,31 @@
################################################################################
#
# am33x-cm3
#
################################################################################
# This should correpsond to v05.00.00.02
AM33X_CM3_VERSION = 11107db2f1e9e58ee75d4fe9cc38423c9a6e4365
AM33X_CM3_SITE = http://arago-project.org/git/projects/am33x-cm3.git
AM33X_CM3_SITE_METHOD = git
AM33X_CM3_LICENSE = TI Publicly Available Software License
AM33X_CM3_LICENSE_FILES = License.txt
# The build command below will use the standard cross-compiler (normally
# build for Cortex-A8, to build the FW for the Cortex-M3.
define AM33X_CM3_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) all
endef
# Not all of the firmware files are used
define AM33X_CM3_INSTALL_TARGET_CMDS
$(INSTALL) -m 0644 -D $(@D)/bin/am335x-pm-firmware.bin \
$(TARGET_DIR)/lib/firmware/am335x-pm-firmware.bin
endef
define AM33X_CM3_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/am33x-cm3/S93-am335x-pm-firmware-load \
$(TARGET_DIR)/etc/init.d/S93-am335x-pm-firmware-load
endef
$(eval $(generic-package))