[meta-ti] [PATCH] u-boot: Alawys build with disabled PIE

Tom Rini trini at konsulko.com
Thu Oct 18 07:09:00 PDT 2018


On Wed, Oct 17, 2018 at 10:49:46PM -0700, Khem Raj wrote:
> 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"

So does this end up being something that is appropriate to push
upstream?  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/meta-ti/attachments/20181018/3025a1db/attachment.pgp>


More information about the meta-ti mailing list