All of lore.kernel.org
 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 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.