All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] u-boot/mpc85xx/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_ definition
@ 2015-10-25  3:58 Prabhakar Kushwaha
  2015-10-25 13:46 ` Tom Rini
  0 siblings, 1 reply; 3+ messages in thread
From: Prabhakar Kushwaha @ 2015-10-25  3:58 UTC (permalink / raw)
  To: u-boot

From: Zhenhua Luo <zhenhua.luo@freescale.com>

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@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@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))
   }
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] u-boot/mpc85xx/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_ definition
  2015-10-25  3:58 [U-Boot] [PATCH] u-boot/mpc85xx/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_ definition Prabhakar Kushwaha
@ 2015-10-25 13:46 ` Tom Rini
  2015-11-03  6:40   ` Luo Zhenhua
  0 siblings, 1 reply; 3+ messages in thread
From: Tom Rini @ 2015-10-25 13:46 UTC (permalink / raw)
  To: u-boot

On Sun, Oct 25, 2015 at 09:28:50AM +0530, Prabhakar Kushwaha wrote:

> From: Zhenhua Luo <zhenhua.luo@freescale.com>
> 
> 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@freescale.com>
> Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>

What happens when we use older binutils?  I'd like some run-time testing
too please :)  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151025/074b488b/attachment.sig>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] u-boot/mpc85xx/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_ definition
  2015-10-25 13:46 ` Tom Rini
@ 2015-11-03  6:40   ` Luo Zhenhua
  0 siblings, 0 replies; 3+ messages in thread
From: Luo Zhenhua @ 2015-11-03  6:40 UTC (permalink / raw)
  To: u-boot

Hi Tom, 

> -----Original Message-----
> From: Tom Rini [mailto:trini at konsulko.com]
> Sent: Sunday, October 25, 2015 9:46 PM
> To: Kushwaha Prabhakar-B32579 <prabhakar@freescale.com>
> Cc: u-boot at lists.denx.de; Sun York-R58495 <yorksun@freescale.com>; Luo
> Zhenhua-B19537 <zhenhua.luo@freescale.com>
> Subject: Re: [U-Boot] [PATCH] u-boot/mpc85xx/u-boot*.lds: remove
> _GLOBAL_OFFSET_TABLE_ definition
> 
> On Sun, Oct 25, 2015 at 09:28:50AM +0530, Prabhakar Kushwaha wrote:
> 
> > From: Zhenhua Luo <zhenhua.luo@freescale.com>
> >
> > 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@freescale.com>
> > Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
> 
> What happens when we use older binutils? 
[Luo Zhenhua-B19537] I verified the u-boot build for p4080ds(e500v2) with binutils-2.23.2, the build passed. 

 I'd like some run-time testing too please :)  Thanks!
[Luo Zhenhua-B19537] I did sanity test for the u-boot on p4080ds, it works normally. 

The log files are attached. 


Best Regards,

Zhenhua

> Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: u-boot.log
Type: application/octet-stream
Size: 6686 bytes
Desc: u-boot.log
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151103/c66c6374/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: u-boot-build.log
Type: application/octet-stream
Size: 15547 bytes
Desc: u-boot-build.log
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151103/c66c6374/attachment-0001.obj>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-11-03  6:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-25  3:58 [U-Boot] [PATCH] u-boot/mpc85xx/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_ definition Prabhakar Kushwaha
2015-10-25 13:46 ` Tom Rini
2015-11-03  6:40   ` Luo Zhenhua

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.