diff options
author | Gary King <gking@nvidia.com> | 2009-09-29 12:54:07 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2010-01-12 17:35:35 -0800 |
commit | 01f8c06cbe63ea7281a3f3d38ed84411e683c789 (patch) | |
tree | 0d4db208953a00d18f5b9d21a50ec904bc580dde | |
parent | 22dd86e0556bf60f46bb92a4d90aef8c2d55da58 (diff) | |
download | frameworks_base-01f8c06cbe63ea7281a3f3d38ed84411e683c789.zip frameworks_base-01f8c06cbe63ea7281a3f3d38ed84411e683c789.tar.gz frameworks_base-01f8c06cbe63ea7281a3f3d38ed84411e683c789.tar.bz2 |
Use correct TLS codepath in graphics libraries
Duplicate ARCH_ARM_HAVE_TLS_REGISTER BoardConfig to proprocessor
HAVE_ARM_TLS_REGISTER define from Bionic's libc Android.mk to ensure that
OpenGL libraries (libEGL, libGLESv1_CM, libGLESv2, libGLES_android) use the
correct codepath in bionic_tls.h for accessing the TLS address
-rw-r--r-- | opengl/libagl/Android.mk | 5 | ||||
-rw-r--r-- | opengl/libs/Android.mk | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/opengl/libagl/Android.mk b/opengl/libagl/Android.mk index 9837845..c2e9f31 100644 --- a/opengl/libagl/Android.mk +++ b/opengl/libagl/Android.mk @@ -39,6 +39,11 @@ endif ifneq ($(TARGET_SIMULATOR),true) # we need to access the private Bionic header <bionic_tls.h> + # on ARM platforms, we need to mirror the ARCH_ARM_HAVE_TLS_REGISTER + # behavior from the bionic Android.mk file + ifeq ($(TARGET_ARCH)-$(ARCH_ARM_HAVE_TLS_REGISTER),arm-true) + LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER + endif LOCAL_C_INCLUDES += bionic/libc/private endif diff --git a/opengl/libs/Android.mk b/opengl/libs/Android.mk index 7353385..6b7020f 100644 --- a/opengl/libs/Android.mk +++ b/opengl/libs/Android.mk @@ -20,6 +20,11 @@ LOCAL_MODULE:= libEGL ifeq ($(TARGET_SIMULATOR),true) else LOCAL_SHARED_LIBRARIES += libdl + # Bionic's private TLS header relies on the ARCH_ARM_HAVE_TLS_REGISTER to + # select the appropriate TLS codepath + ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) + LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER + endif # we need to access the private Bionic header <bionic_tls.h> LOCAL_C_INCLUDES += bionic/libc/private endif @@ -75,6 +80,9 @@ ifeq ($(TARGET_SIMULATOR),true) else LOCAL_SHARED_LIBRARIES += libdl # we need to access the private Bionic header <bionic_tls.h> + ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) + LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER + endif LOCAL_C_INCLUDES += bionic/libc/private endif @@ -108,6 +116,9 @@ ifeq ($(TARGET_SIMULATOR),true) else LOCAL_SHARED_LIBRARIES += libdl # we need to access the private Bionic header <bionic_tls.h> + ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) + LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER + endif LOCAL_C_INCLUDES += bionic/libc/private endif |