HomePhabricator

Add support for tlsldm assembler operator to ARM target

Authored by peter.smith on Jul 19 2016, 7:15 AM.

Description

Add support for tlsldm assembler operator to ARM target

The standard local dynamic model for TLS on ARM systems needs two
relocations:

  • R_ARM_TLS_LDM32 (module idx)
  • R_ARM_TLS_LDO32 (offset of object from origin of module TLS block)

In GNU style assembler we use symbol(tlsldm) and symbol(tlsldo) to
produce these relocations.

llvm-mc for ARM supports symbol(tlsldo) but does not support symbol(tlsldm).
This patch wires up the existing symbol(tlsldm) to R_ARM_TLS_LDM32.

TLS for ARM is defined in Addenda to, and Errata in, the ABI for the
ARM Architecture

Differential Revision: https://reviews.llvm.org/D22461

llvm-svn: 275977

Details

Committed
peter.smithJul 19 2016, 7:15 AM
Differential Revision
D22461: [ARM] Add support for tlsldm operator to llvm-mc
Parents
rGb87a21f1c33f: [AARCH64] Fix linu triple typo
Branches
Unknown
Tags
Unknown