[PATCH] D104564: [AArch64][X86] Allow 64-bit label differences lower to IMAGE_REL_*_REL32

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 18 11:56:35 PDT 2021


MaskRay created this revision.
MaskRay added reviewers: mstorsjo, rnk.
Herald added subscribers: wenlei, danielkiss, pengfei, hiraditya, kristof.beyls.
MaskRay requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

`IMAGE_REL_ARM64_REL64/IMAGE_REL_AMD64_REL64` do not exist and `.quad a - .` is
currently not representable.

For instrumentation, `.quad a - .` is useful representing a cross-section
reference in a metadata section, to allow ELF medium/large code models. The COFF
limitation makes such generic instrumentations inconvenient. I plan to make a
PGO/coverage metadata section field relative in D104556 <https://reviews.llvm.org/D104556>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D104564

Files:
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
  llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
  llvm/test/MC/AArch64/coff-relocations.s
  llvm/test/MC/COFF/cross-section-relative-err.s
  llvm/test/MC/COFF/cross-section-relative.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104564.353070.patch
Type: text/x-patch
Size: 5295 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210618/59d9ef51/attachment.bin>


More information about the llvm-commits mailing list