Default to hiding libgcc symbols in each object.

Bug: http://b/24166967
Change-Id: I3dba264ae70a2e13b3edee7575139e86ef49be71
This commit is contained in:
Dan Albert
2015-09-21 16:36:41 -07:00
parent 30b326206b
commit 021b7651a5
2 changed files with 12 additions and 0 deletions

View File

@@ -412,6 +412,17 @@ ifeq ($(my_allow_undefined_symbols),)
endif
endif
# Target modules shouldn't re-export libgcc.a because we don't want other
# binaries importing them when they should be getting their own copy of the
# builtins.
#
# Unfortunately --exclude-libs always overrides all other attempts to make a
# symbol visible, and libc needs to make sure some of these symbols are
# available for binary compatibility, so libc needs a way to disable this.
ifneq ($(strip $(LOCAL_NO_EXCLUDE_LIBS)),true)
my_ldflags += -Wl,--exclude-libs,libgcc.a
endif
ifeq (true,$(LOCAL_GROUP_STATIC_LIBRARIES))
$(LOCAL_BUILT_MODULE): PRIVATE_GROUP_STATIC_LIBRARIES := true
else

View File

@@ -190,6 +190,7 @@ LOCAL_SANITIZE_RECOVER:=
LOCAL_DBUS_PROXY_PREFIX:=
LOCAL_INIT_RC:=
LOCAL_MODULE_HOST_OS:=
LOCAL_NO_EXCLUDE_LIBS:=
# arch specific variables
LOCAL_SRC_FILES_$(TARGET_ARCH):=