summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2014-06-24 04:31:08 +0000
committerDan Albert <danalbert@google.com>2014-06-24 04:31:08 +0000
commit71f9b34fbeef00f3bd34364dadad41bff60b6b1d (patch)
tree093c5a57b9b5409115d0230bdf8d325ddf3b2d0e
parent4e4e1a5d78ff6dd9394b9b116c012046da409e99 (diff)
downloadbionic-71f9b34fbeef00f3bd34364dadad41bff60b6b1d.zip
bionic-71f9b34fbeef00f3bd34364dadad41bff60b6b1d.tar.gz
bionic-71f9b34fbeef00f3bd34364dadad41bff60b6b1d.tar.bz2
Revert "Revert "Prevent symbols from libgcc from being reexported.""
This reverts commit 4e4e1a5d78ff6dd9394b9b116c012046da409e99. Change-Id: I8e78c3a59598e052e02965dd37b3fba8f567eed9
-rw-r--r--libc/Android.mk7
-rw-r--r--libm/Android.mk7
2 files changed, 14 insertions, 0 deletions
diff --git a/libc/Android.mk b/libc/Android.mk
index 1b3965e..7febccd 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -971,6 +971,13 @@ LOCAL_SHARED_LIBRARIES := libdl
LOCAL_WHOLE_STATIC_LIBRARIES := libc_common
LOCAL_SYSTEM_SHARED_LIBRARIES :=
+# We'd really like to do this for all architectures, but since this wasn't done
+# before, these symbols must continue to be exported on LP32 for binary
+# compatibility.
+LOCAL_LDFLAGS_arm64 := -Wl,--exclude-libs,libgcc.a
+LOCAL_LDFLAGS_mips64 := -Wl,--exclude-libs,libgcc.a
+LOCAL_LDFLAGS_x86_64 := -Wl,--exclude-libs,libgcc.a
+
$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags))
$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_arch_dynamic_src_files))
$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_static_common_src_files))
diff --git a/libm/Android.mk b/libm/Android.mk
index 90b4906..994caa0 100644
--- a/libm/Android.mk
+++ b/libm/Android.mk
@@ -291,5 +291,12 @@ LOCAL_MODULE:= libm
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_SYSTEM_SHARED_LIBRARIES := libc
LOCAL_WHOLE_STATIC_LIBRARIES := libm
+
+# We'd really like to do this for all architectures, but since this wasn't done
+# before, these symbols must continue to be exported on LP32 for binary
+# compatibility.
+LOCAL_LDFLAGS_arm64 := -Wl,--exclude-libs,libgcc.a
+LOCAL_LDFLAGS_mips64 := -Wl,--exclude-libs,libgcc.a
+LOCAL_LDFLAGS_x86_64 := -Wl,--exclude-libs,libgcc.a
include $(BUILD_SHARED_LIBRARY)
endif