[PATCH] D32072: [AArch64] ILP32 Backend Relocation Support

Joel Jones via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 13 21:01:56 PDT 2017


joelkevinjones created this revision.
Herald added a subscriber: aemerson.

  Remove "_NC" suffix and semantics from TLSDESC_LD{64,32}_LO12 and
    TLSDESC_LD{64,32}_ADD12 relocations
  Rearrange ordering in AArch64.def to following relocation encoding
  Fix name from R_AARCH64_P32_LD64_GOT_LO12_NC to
     R_AARCH64_P32_LD64_GOT_LO12_NC
  Add support for several "TLS", "TLSGD", and "TLSLD" relocations for
    ILP32
  Fix return values from isNonILP32reloc
  Add support for
    R_AARCH64_ADR_PREL_PG_HI21_NC, R_AARCH64_P32_LD32_GOT_LO12_NC,
    R_AARCH64_P32_TLSIE_LD32_GOTTPREL_LO12_NC,
    R_AARCH64_P32_TLSDESC_LD32_LO12, R_AARCH64_LD64_GOT_LO12_NC,
    *TLSLD_LDST128_DTPREL_LO12, *TLSLD_LDST128_DTPREL_LO12_NC,
    *TLSLE_LDST128_TPREL_LO12, *TLSLE_LDST128_TPREL_LO12_NC
  Modify error messages to give name of equivalent relocation in the
    ABI not being used, along with better checking for non-existent
    requested relocations.
  Added assembler support for "pg_hi21_nc", but not for output.


Repository:
  rL LLVM

https://reviews.llvm.org/D32072

Files:
  include/llvm/Support/ELFRelocs/AArch64.def
  lib/Target/AArch64/AArch64AsmPrinter.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
  test/CodeGen/AArch64/arm64-tls-dynamics.ll
  test/MC/AArch64/adrp-relocation.s
  test/MC/AArch64/arm32-elf-relocs.s
  test/MC/AArch64/arm32-large-relocs.s
  test/MC/AArch64/arm32-tls-relocs.s
  test/MC/AArch64/arm64-elf-reloc-condbr.s
  test/MC/AArch64/arm64-elf-relocs.s
  test/MC/AArch64/arm64-tls-relocs.s
  test/MC/AArch64/elf-reloc-ldrlit.s
  test/MC/AArch64/elf-reloc-pcreladdressing-ilp32.s
  test/MC/AArch64/elf-reloc-tstb.s
  test/MC/AArch64/elf-reloc-uncondbrimm.s
  test/MC/AArch64/error-location.s
  test/MC/AArch64/ilp32-diagnostics.s
  test/MC/AArch64/inline-asm-modifiers.s
  test/MC/AArch64/lp64-diagnostics.s
  test/MC/AArch64/tls-relocs.s
  test/tools/llvm-readobj/reloc-types.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32072.95265.patch
Type: text/x-patch
Size: 65425 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170414/e263e033/attachment.bin>


More information about the llvm-commits mailing list