[meta-freescale] [meta-fsl-ppc][PATCH] u-boot-qoriq: fix the build issue with binutils-2.25

zhenhua.luo at freescale.com zhenhua.luo at freescale.com
Wed Feb 11 23:54:01 PST 2015


This patch should be applied when binutils-2.25 is upgraded in poky. 


Best Regards,

Zhenhua

> -----Original Message-----
> From: Zhenhua Luo [mailto:zhenhua.luo at freescale.com]
> Sent: Thursday, February 12, 2015 3:54 PM
> To: meta-freescale at yoctoproject.org
> Cc: Luo Zhenhua-B19537
> Subject: [meta-fsl-ppc][PATCH] u-boot-qoriq: fix the build issue with binutils-
> 2.25
> 
> Remove _GLOBAL_OFFSET_TABLE_ definition from u-boot/mpc85xx/u-
> boot*.lds
> 
> In binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbols defined by PROVIDE in
> u-boot.lds overrides the linker built-in symbols
> (https://sourceware.org/git/gitweb.cgi?p=binutils-
> gdb.git;a=commitdiff;h=b893397a4b1316610f49819344817715e4305de9),
> so the linker is treating _GLOBAL_OFFSET_TABLE_ as a definition into the .reloc
> section.
> 
> To align with the change of binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbol
> should not be defined in sections, and the symbols in linker generated .got
> section should be used(https://sourceware.org/ml/binutils/2008-
> 09/msg00122.html).
> 
> Fixed the following build errors with binutils-2.25:
> | powerpc-poky-linux-gnuspe-ld.bfd: _GLOBAL_OFFSET_TABLE_ not defined in
> | linker created .got
> 
> [YOCTO #7145]
> 
> Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
> ---
>  ...5xx-u-boot-.lds-remove-_GLOBAL_OFFSET_TAB.patch | 77
> ++++++++++++++++++++++
>  recipes-bsp/u-boot/u-boot-qoriq_2014.07.bb         |  3 +-
>  2 files changed, 79 insertions(+), 1 deletion(-)  create mode 100644 recipes-
> bsp/u-boot/files/0001-u-boot-mpc85xx-u-boot-.lds-remove-
> _GLOBAL_OFFSET_TAB.patch
> 
> diff --git a/recipes-bsp/u-boot/files/0001-u-boot-mpc85xx-u-boot-.lds-
> remove-_GLOBAL_OFFSET_TAB.patch b/recipes-bsp/u-boot/files/0001-u-
> boot-mpc85xx-u-boot-.lds-remove-_GLOBAL_OFFSET_TAB.patch
> new file mode 100644
> index 0000000..e6b8d2e
> --- /dev/null
> +++ b/recipes-bsp/u-boot/files/0001-u-boot-mpc85xx-u-boot-.lds-remove-_G
> +++ LOBAL_OFFSET_TAB.patch
> @@ -0,0 +1,77 @@
> +From 9ba002f1b1afc7af84a352f4ecab32a30d7ba353 Mon Sep 17 00:00:00 2001
> +From: Zhenhua Luo <zhenhua.luo at freescale.com>
> +Date: Mon, 9 Feb 2015 18:33:56 +0800
> +Subject: [PATCH] u-boot/mpc85xx/u-boot*.lds: remove
> +_GLOBAL_OFFSET_TABLE_  definition
> +
> +In binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbols defined by PROVIDE
> +in u-boot.lds overrides the linker built-in symbols
> +(https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;
> +h=b893397a4b1316610f49819344817715e4305de9),
> +so the linker is treating _GLOBAL_OFFSET_TABLE_ as a definition into
> the .reloc section.
> +
> +To align with the change of binutils-2.25, the _GLOBAL_OFFSET_TABLE_
> +symbol should not be defined in sections, and the symbols in linker
> +generated .got section should be
> used(https://sourceware.org/ml/binutils/2008-09/msg00122.html).
> +
> +Fixed the following build errors with binutils-2.25:
> +| powerpc-poky-linux-gnuspe-ld.bfd: _GLOBAL_OFFSET_TABLE_ not defined
> +| in linker created .got
> +
> +Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
> +---
> + arch/powerpc/cpu/mpc85xx/u-boot-nand.lds     | 1 -
> + arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 -
> + arch/powerpc/cpu/mpc85xx/u-boot-spl.lds      | 1 -
> + arch/powerpc/cpu/mpc85xx/u-boot.lds          | 1 -
> + 4 files changed, 4 deletions(-)
> +
> +diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> +b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> +index f933b21..0399f93 100644
> +--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> ++++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> +@@ -44,7 +44,6 @@ SECTIONS
> +     _GOT2_TABLE_ = .;
> +     KEEP(*(.got2))
> +     KEEP(*(.got))
> +-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> +     _FIXUP_TABLE_ = .;
> +     KEEP(*(.fixup))
> +   }
> +diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> +b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> +index b83c553..f044564 100644
> +--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> ++++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> +@@ -22,7 +22,6 @@ SECTIONS
> + 		_GOT2_TABLE_ = .;
> + 		KEEP(*(.got2))
> + 		KEEP(*(.got))
> +-		PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> + 		_FIXUP_TABLE_ = .;
> + 		KEEP(*(.fixup))
> + 	}
> +diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> +b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> +index 5ae7b3e..889a4c2 100644
> +--- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> ++++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> +@@ -29,7 +29,6 @@ SECTIONS
> + 		_GOT2_TABLE_ = .;
> + 		KEEP(*(.got2))
> + 		KEEP(*(.got))
> +-		PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> + 		_FIXUP_TABLE_ = .;
> + 		KEEP(*(.fixup))
> + 	}
> +diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds
> +b/arch/powerpc/cpu/mpc85xx/u-boot.lds
> +index 2cf0b25..f15eaf3 100644
> +--- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
> ++++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
> +@@ -50,7 +50,6 @@ SECTIONS
> +     _GOT2_TABLE_ = .;
> +     KEEP(*(.got2))
> +     KEEP(*(.got))
> +-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> +     _FIXUP_TABLE_ = .;
> +     KEEP(*(.fixup))
> +   }
> +--
> +2.1.0
> +
> diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2014.07.bb b/recipes-bsp/u-
> boot/u-boot-qoriq_2014.07.bb
> index b780658..3e519e2 100644
> --- a/recipes-bsp/u-boot/u-boot-qoriq_2014.07.bb
> +++ b/recipes-bsp/u-boot/u-boot-qoriq_2014.07.bb
> @@ -17,7 +17,8 @@ DEPENDS = "boot-format-native libgcc
> ${@base_contains('TCMODE', 'external-fsl',
> 
>  inherit deploy
> 
> -SRC_URI = "git://git.freescale.com/ppc/sdk/u-boot.git;nobranch=1"
> +SRC_URI = "git://git.freescale.com/ppc/sdk/u-boot.git;nobranch=1 \
> +	file://0001-u-boot-mpc85xx-u-boot-.lds-remove-
> _GLOBAL_OFFSET_TAB.patch"
>  SRCREV = "659b6a23a8b1f3026200bc6352dbacef53f4dcb1"
> 
>  python () {
> --
> 2.1.0



More information about the meta-freescale mailing list