[PATCH] D143541: [llvm-lib 5/5] Add support for ARM64EC libraries.

Jacek Caban via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 7 17:00:58 PST 2023


jacek created this revision.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
jacek requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

ARM64EC allows having both pure ARM64 objects and ARM64EC in the same archive. This allows using single static library for linking pure ARM64, pure ARM64EC or mixed modules (what MS calls ARM64X: a single module that may be used in both modes). To achieve that, such static libraries need two separated symbol maps. The usual map contains only pure ARM64 symbols, while a new /<ECSYMBOLS>/ section contains EC symbols. EC symbols map has very similar format to the usual map, except it doesn't contain object offsets and uses offsets from regular map instead. This is true even for pure ARM64EC static library: it will simply have 0 symbols in the symbol map.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D143541

Files:
  llvm/lib/Object/ArchiveWriter.cpp
  llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
  llvm/test/tools/llvm-lib/ecsymbols.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D143541.495684.patch
Type: text/x-patch
Size: 6385 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230208/0ead61b8/attachment.bin>


More information about the llvm-commits mailing list