http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57221
Bug #: 57221
Summary: [4.8/4.9 regression] libgcc symbol visibility changes
break Android blobs
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libgcc
AssignedTo: [email protected]
ReportedBy: [email protected]
Created attachment 30064
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30064
Proposed fix
The changes in libgcc symbol visibilities that got into 4.8
(http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01462.html) break important
Android blobs.
Bionic (Android's libc) has some rather weird hacks that expose libgcc.a's
__aeabi_uidiv and friends to applications linking to Bionic. The changed symbol
visibility breaks this, resulting in e.g. a Galaxy Nexus Android build done
with gcc 4.8 failing to boot to UI because it can't load its graphics drivers.
It may make sense to change symbol visibility back to default if the target is
Android. I've attached a patch that does that.