[PATCH] D42592: [COFF] Add minimal support for /guard:cf

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 26 11:44:20 PST 2018


rnk created this revision.
rnk added reviewers: ruiu, amccarth.

This patch adds some initial support for Windows control flow guard. At
the end of the day, the linker needs to synthesize a table of RVAs very
similar to the structured exception handler table (/safeseh).

Both /safeseh and /guard:cf take sections of symbol table indices
(.sxdata and .gfids$y) and turn them into RVA tables referenced by the
load config struct in the CRT through special symbols.


https://reviews.llvm.org/D42592

Files:
  lld/COFF/Chunks.cpp
  lld/COFF/Chunks.h
  lld/COFF/Config.h
  lld/COFF/Driver.cpp
  lld/COFF/Driver.h
  lld/COFF/DriverUtils.cpp
  lld/COFF/InputFiles.cpp
  lld/COFF/InputFiles.h
  lld/COFF/Options.td
  lld/COFF/Writer.cpp
  lld/test/COFF/gfids-fallback.s
  lld/test/COFF/gfids-gc.s
  lld/test/COFF/gfids-icf.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42592.131631.patch
Type: text/x-patch
Size: 27000 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180126/a343e156/attachment.bin>


More information about the llvm-commits mailing list