[PATCH] D70557: [lld][COFF] Add support for /map

Sylvain Audi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 21 12:22:21 PST 2019


saudi created this revision.
saudi added reviewers: rnk, ruiu.
saudi added a project: lld.
Herald added subscribers: llvm-commits, mgrang, mgorny.
Herald added a project: LLVM.

We use an external (commercial) software package to modify the generated executable as a post-process.
That software requires a map file with the same format as generated by link.exe /MAP.

This implementation is based on observation from the output of link.exe's map files.
We didn't need support for the /MAPINFO option.

Enhancements from the lldmap counterpart:

- Removed duplicates of symbols (that is duplicate Symbol* values)
- Added output for thunk symbols for dllimport stubs

I've also modified the default file name for /lldmap to use the .lldmap extension (instead of .map). This is to avoid conflict if both /map and /lldmap are used.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D70557

Files:
  lld/COFF/CMakeLists.txt
  lld/COFF/Config.h
  lld/COFF/Driver.cpp
  lld/COFF/MapFileMS.cpp
  lld/COFF/MapFileMS.h
  lld/COFF/Options.td
  lld/COFF/Writer.cpp
  lld/test/COFF/lldmap.test
  lld/test/COFF/map.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70557.230503.patch
Type: text/x-patch
Size: 13419 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191121/84e6768a/attachment.bin>


More information about the llvm-commits mailing list