public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Joakim Tjernlund <joakim.tjernlund@transmode.se>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH][v2] mpc85xx/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_ definition
Date: Mon, 2 Nov 2015 18:48:18 +0000	[thread overview]
Message-ID: <1446490097.21216.42.camel@transmode.se> (raw)
In-Reply-To: <1446481031.21216.26.camel@infinera.com>

[Resending with old email address]

I want to add why PROVIDE was added in the first place:
In theory it is possible to build an u-boot without ld defining
_GLOBAL_OFFSET_TABLE_, in that case we create _GLOBAL_OFFSET_TABLE_ ourself.

Should we start using -fPIC* one day this will we will be close to
an u-boot without _GLOBAL_OFFSET_TABLE_ and the __got2_entries calculation
will fail.

*older gcc's will automatically promote -fpic to -fPIC when used with -mrelocatable
 I wrote a small patch in 2010 to fix this:
 https://gcc.gnu.org/ml/gcc-patches/2010-10/msg02301.html
 Cannot remember what gcc version(4.6?) that went into.

About the same time support for -msingle-pic-base was added to powerpc gcc
This would reduce code size further, possibly interesting for SPL?
I sent som patches for that but there were something holding them
back.


On Mon, 2015-11-02 at 17:17 +0100, Joakim Tjernlund wrote:
> On Fri, 2015-10-30 at 10:12 -0700, York Sun wrote:
> > 
> > On 10/24/2015 10:02 PM, 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),
> 
> hmm, what was the reson for this change in binutils? As I recall, PROVIDE should
> only add a symbol when there is none and now binutils just ignores this, strange.
> 
> > > so the linker is treating _GLOBAL_OFFSET_TABLE_ as a definition into the
> > > .reloc section.
> 
> Yes, where do you want it instead? what is the difference with/without PROVIDE?
> 
> > > 
> > > 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>
> > > ---
> > > Changes for v2: Updated Subject
> > > 
> > 
> > Prabhakar/Zhenghua,
> > 
> > Have you addressed Tom's comment (on rev 1 patch)? Quote, "What happens when we
> > use older binutils?  I'd like some run-time testing too please".
> > 
> > York
> > 
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > http://lists.denx.de/mailman/listinfo/u-boot

  reply	other threads:[~2015-11-02 18:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-25  5:02 [U-Boot] [PATCH][v2] mpc85xx/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_ definition Prabhakar Kushwaha
2015-10-30 17:12 ` York Sun
2015-11-02 16:17   ` Joakim Tjernlund
2015-11-02 18:48     ` Joakim Tjernlund [this message]
2015-11-10 20:16 ` [U-Boot] [U-Boot, v2] " Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1446490097.21216.42.camel@transmode.se \
    --to=joakim.tjernlund@transmode.se \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox