aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2013-04-03 15:04:42 -0700
committerBen Cheng <bccheng@google.com>2013-04-03 15:06:46 -0700
commit68330d08ea4b3e32dbadcfae109508f386177e68 (patch)
treef6b39c0598a4f9da0583f2363f85fbf52d78ea95
parentbf7fbbea63a8ec70c0cf36969af6d9ded9583d16 (diff)
downloadtoolchain_gcc-68330d08ea4b3e32dbadcfae109508f386177e68.tar.gz
toolchain_gcc-68330d08ea4b3e32dbadcfae109508f386177e68.tar.bz2
toolchain_gcc-68330d08ea4b3e32dbadcfae109508f386177e68.zip
[4.8] Maintain default visibility for helper functions in libgcc.a.
Change-Id: If7890947b3391ec87a3fc2be9baa87ba821fa4ec
-rw-r--r--gcc-4.8/libgcc/Makefile.in10
1 files changed, 10 insertions, 0 deletions
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))