
[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@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot