[meta-ti] [PATCH] u-boot: Alawys build with disabled PIE
Khem Raj
raj.khem at gmail.com
Wed Oct 17 22:49:46 PDT 2018
some OE distros can default to hardened toolchains which means PIE is
added implicitly to compiler cmdline, here this options makes sure that
whattever the default toolchain are, u-boot is not impacted
Fixes errors e.g.
| arm-yoe-linux-gnueabi-ld.bfd: u-boot-spl section `.rodata' will not fit in region `.sram'
| arm-yoe-linux-gnueabi-ld.bfd: region `.sram' overflowed by 5772 bytes
Signed-off-by: Khem Raj <raj.khem at gmail.com>
Cc: Tom Rini <trini at konsulko.com>
Cc: Denys Dmytriyenko <denys at ti.com>
---
.../0001-Always-build-with-fno-PIE.patch | 35 +++++++++++++++++++
.../u-boot/u-boot-ti-staging_2018.01.bb | 2 ++
2 files changed, 37 insertions(+)
create mode 100644 recipes-bsp/u-boot/files/0001-Always-build-with-fno-PIE.patch
diff --git a/recipes-bsp/u-boot/files/0001-Always-build-with-fno-PIE.patch b/recipes-bsp/u-boot/files/0001-Always-build-with-fno-PIE.patch
new file mode 100644
index 00000000..dfd99c66
--- /dev/null
+++ b/recipes-bsp/u-boot/files/0001-Always-build-with-fno-PIE.patch
@@ -0,0 +1,35 @@
+From ec81bbe3ea7e077512f4b9d2b4aa87e7f1494bcc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem at gmail.com>
+Date: Wed, 17 Oct 2018 22:32:57 -0700
+Subject: [PATCH] Always build with -fno-PIE
+
+GNU Toolchains can be configured to generate PIE by default
+while PIE could be ok, it is known that u-boot/SPL on ARM starts to
+generate bigger code and starts to overflow the SRAM size, therefore
+disabling PIE explcitly insulates against toolchain intrinsic defaults
+
+Fixes errors like
+| arm-yoe-linux-gnueabi-ld.bfd: u-boot-spl section `.rodata' will not fit in region `.sram'
+| arm-yoe-linux-gnueabi-ld.bfd: region `.sram' overflowed by 5772 bytes
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+Cc: Tom Rini <trini at konsulko.com>
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index 45cd751ba3..9eb8ac564e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -592,6 +592,7 @@ KBUILD_CFLAGS += -O2
+ endif
+
+ KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
++KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
+ KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks)
+
+ KBUILD_CFLAGS += -g
+--
+2.19.1
+
diff --git a/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb b/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb
index cbb8857a..c9c97111 100644
--- a/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb
+++ b/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb
@@ -5,3 +5,5 @@ PR = "r24"
BRANCH = "ti-u-boot-2018.01"
SRCREV = "2cc52408bf1357f11b96548e78223a1df321c1ae"
+
+SRC_URI += "file://0001-Always-build-with-fno-PIE.patch"
--
2.19.1
More information about the meta-ti
mailing list