On 08/05/13 20:53, Bernhard Rosenkränzer wrote:
On 8 May 2013 15:29, Bernhard Rosenkränzer <bernhard.rosenkranzer@linaro.org
wrote:
I've attached the config logs - full builds are still running.
I've figured out what's going on.
In libgcc/Makefile.in, lines 368+ (in 4.8)/lines 375+ (in 4.7), there's some AWK trickery to add .hidden to asm code.
The difference is that in 4.7, that code is inside
ifeq ($(enable_shared),yes)
while 4.8 moved it outside of that block.
The result is that on regular Linux, you'd have the symbols hidden in both 4.7 and 4.8 -- but on Android (where for whatever reason the decision was not to have a libgcc_s), it gets hidden only in 4.8.
The problematic upstream commit is svn 190588.
I think for now I'll just revert that change in Android toolchain builds to keep the hack in Bionic working - but I wonder what a proper fix could look like (or rather, a proper fix that we can do - meaning one that doesn't involve fixing up blobs we don't have the source to or getting Android upstream to introduce libgcc_s).
The original discussion about this patch is here:
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01462.html
Thanks,
Matt