diff options
author | Ryan Prichard <rprichard@google.com> | 2018-04-24 18:43:19 -0700 |
---|---|---|
committer | Ryan Prichard <rprichard@google.com> | 2018-07-30 23:49:19 -0700 |
commit | c1c8a188b26be9a8b9c48e6b21af4035226f9d1f (patch) | |
tree | a15bef933c4ca1e363e48b6124f49b7be5baa3f3 /libc/stdio/stdio_ext.cpp | |
parent | 3bf897e12d73f5c038aeef85f91ccce1c35fe326 (diff) |
Fix arm32/64 dynamic TLS relocations
arm32: Add a relocation for TLS descriptors (e.g. gcc's
-mtls-dialect=gnu2).
arm64: Add all the dynamic TLS relocations.
Two of the relocations here are obsolete:
- ARM documents R_ARM_SWI24 as an obsolete static relocation without
saying what it did. It's been replaced by R_ARM_TLS_DESC, a dynamic
relocation. We could probably remove it, but I left it because arm32
is old, and I see the macro in other libc's. It's probably analogous
to R_ARM_THM_SWI8, which is also an obsolete relocation reserved for
a future dynamic relocation.
- I couldn't find any ARM documentation at all for
R_AARCH64_TLS_DTPREL32. It seems to have been part of three
relocations:
- R_AARCH64_TLS_DTPREL32 1031
- R_AARCH64_TLS_DTPMOD32 1032
- R_AARCH64_TLS_TPREL32 1033
Bug: b/78026329
Test: run bionic unit tests
Change-Id: I5e7432f6e3e906152dc489be5e812fd8defcbafd
Diffstat (limited to 'libc/stdio/stdio_ext.cpp')
0 files changed, 0 insertions, 0 deletions