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).

ttyl
bero