[PATCH] D49366: Add support for /FUNCTIONPADMIN command-line option

Alexandre Ganea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 20 08:32:26 PST 2019


aganea updated this revision to Diff 187590.
aganea marked 5 inline comments as done.
aganea added a comment.
Herald added a subscriber: jdoerfert.
Herald added a project: LLVM.

Adressed all comments. Added tests as suggested by @pcc

I've also added proper handling for the `/HOTPATCH` <https://docs.microsoft.com/en-us/cpp/build/reference/hotpatch-create-hotpatchable-image?view=vs-2017> compile-time flag. If this flag is not present in the input, then `/FUNCTIONPADMIN` will not do anything for functions originating from that input. Linker-generated DLL thunks are always padded when providing `/FUNCTIONPADMIN`.

Incidentally, clang currently doesn't generate the `CompileSym3Flags::HotPatch` flag in `S_COMPILE3` records. So as it stands, `/FUNCTIONPADMIN` will currently not work with clang OBJs. This shall be done in a subsequent patch.


Repository:
  rLLD LLVM Linker

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D49366/new/

https://reviews.llvm.org/D49366

Files:
  COFF/Chunks.cpp
  COFF/Chunks.h
  COFF/Config.h
  COFF/Driver.cpp
  COFF/Driver.h
  COFF/DriverUtils.cpp
  COFF/InputFiles.cpp
  COFF/InputFiles.h
  COFF/Options.td
  COFF/PDB.cpp
  COFF/Writer.cpp
  test/COFF/functionpadmin.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49366.187590.patch
Type: text/x-patch
Size: 25150 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190220/695abece/attachment.bin>


More information about the llvm-commits mailing list