From 68330d08ea4b3e32dbadcfae109508f386177e68 Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Wed, 3 Apr 2013 15:04:42 -0700 Subject: [4.8] Maintain default visibility for helper functions in libgcc.a. Change-Id: If7890947b3391ec87a3fc2be9baa87ba821fa4ec --- gcc-4.8/libgcc/Makefile.in | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gcc-4.8/libgcc/Makefile.in b/gcc-4.8/libgcc/Makefile.in index 990cd4927..ba1a9756c 100644 --- a/gcc-4.8/libgcc/Makefile.in +++ b/gcc-4.8/libgcc/Makefile.in @@ -365,10 +365,20 @@ ifeq ($(enable_shared),yes) endif endif +ifneq ($(enable_shared),yes) +# Some prebuilt libraries for Android link libc.so before libgcc.a, and they +# rely on libgcc.a to provide those symbols with default visibility to resolve +# them eventually. The linker order has been fixed in JB maintain releases but +# may take a while to trickle down to partners to refresh their prebuilt +# libraries. Therefore we need to maintain the same visibility as older GCC +# for now. +vis_hide = +else # For -fvisibility=hidden. We need both a -fvisibility=hidden on # the command line, and a #define to prevent libgcc2.h etc from # overriding that with #pragmas. vis_hide = @vis_hide@ +endif ifneq (,$(vis_hide)) -- cgit v1.2.3