OSDN Git Service

Fix TLS access for ARMv6 and beyond.
authorDavid 'Digit' Turner <digit@google.com>
Fri, 18 Sep 2009 20:35:05 +0000 (13:35 -0700)
committerDavid 'Digit' Turner <digit@google.com>
Tue, 22 Sep 2009 17:03:59 +0000 (10:03 -0700)
commit4a05d12cf52a9a40759f11f28543bd75715c8f00
tree2d0beafae4775320beea102649b491b05fa50f8e
parent916edf2a3fc60e08a5f29cd322d9f2a04d15cb49
Fix TLS access for ARMv6 and beyond.

For performance reasons, we don't call the kernel helper. Instead, we directly
access the TLS register on ARMv6 and higher. For ARMv5TE, keep using the hard-coded
address populated by the kernel on each task switch.

NOTE: Since we don't call the kernel helper, this must precisely match your
      kernel configuration. This is controlled by setting the ARCH_ARM_HAVE_TLS_REGISTER
      variable to 'true' in your board configuration file.
libc/Android.mk
libc/arch-arm/include/machine/cpu-features.h
libc/private/bionic_tls.h