diff options
author | Andrew Paverd <andrew.paverd@microsoft.com> | 2020-10-01 10:07:40 +0100 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2020-10-13 13:20:52 -0700 |
commit | cfd8481da1adba1952e0f6ecd00440986e49a946 (patch) | |
tree | abef49142fce9d386b72a749cfa5e071227d907c /llvm/lib/Support/LineIterator.cpp | |
parent | ad958f648e46680966375a93a3f2f1f5ee870671 (diff) | |
download | llvm-cfd8481da1adba1952e0f6ecd00440986e49a946.zip llvm-cfd8481da1adba1952e0f6ecd00440986e49a946.tar.gz llvm-cfd8481da1adba1952e0f6ecd00440986e49a946.tar.bz2 |
Reland [CFGuard] Add address-taken IAT tables and delay-load support
This patch adds support for creating Guard Address-Taken IAT Entry Tables (.giats$y sections) in object files, matching the behavior of MSVC. These contain lists of address-taken imported functions, which are used by the linker to create the final GIATS table.
Additionally, if any DLLs are delay-loaded, the linker must look through the .giats tables and add the respective load thunks of address-taken imports to the GFIDS table, as these are also valid call targets.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D87544
Diffstat (limited to 'llvm/lib/Support/LineIterator.cpp')
0 files changed, 0 insertions, 0 deletions