summaryrefslogtreecommitdiffstats
path: root/linker
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2009-09-29 16:12:31 -0700
committerColin Cross <ccross@android.com>2010-01-12 17:37:44 -0800
commit278d157f437c0357b7c6d1fb1cbffbc0a72bb788 (patch)
tree27434e29fe0dc3fca4ea006fe50c7951762aa7ea /linker
parent0b5db51ea6d9c0b877d2ce26440d963760c38dfe (diff)
downloadbionic-278d157f437c0357b7c6d1fb1cbffbc0a72bb788.zip
bionic-278d157f437c0357b7c6d1fb1cbffbc0a72bb788.tar.gz
bionic-278d157f437c0357b7c6d1fb1cbffbc0a72bb788.tar.bz2
Use correct TLS codepath for linker
Replicate ARM libc build's HAVE_ARM_TLS_REGISTER preprocessor definition logic, to ensure that the runtime linker uses the correct codepath for accessing the TLS address
Diffstat (limited to 'linker')
-rw-r--r--linker/Android.mk6
1 files changed, 5 insertions, 1 deletions
diff --git a/linker/Android.mk b/linker/Android.mk
index 6c26eb3..c2d369e 100644
--- a/linker/Android.mk
+++ b/linker/Android.mk
@@ -27,7 +27,11 @@ LOCAL_CFLAGS += -DLINKER_TEXT_BASE=$(LINKER_TEXT_BASE)
LOCAL_CFLAGS += -DLINKER_AREA_SIZE=$(LINKER_AREA_SIZE)
# we need to access the Bionic private header <bionic_tls.h>
-# in the linker
+# in the linker; duplicate the HAVE_ARM_TLS_REGISTER definition
+# from the libc build
+ifeq ($(TARGET_ARCH)-$(ARCH_ARM_HAVE_TLS_REGISTER),arm-true)
+ LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
+endif
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../libc/private
ifeq ($(TARGET_ARCH),arm)