HomePhabricator

[COFF] Add exported functions to gfids table for /guard:cf

Description

[COFF] Add exported functions to gfids table for /guard:cf

Summary:
MSVC does this, and we should to.

The .gfids table is a table of RVAs, so it's impossible for a DLL to
indicate that an imported symbol is address taken. Therefore, exports
appear to be listed as address taken by the DLL that exports them.

This fixes an issue that Firefox ran into here:
https://bugzilla.mozilla.org/show_bug.cgi?id=1485016#c12

In Firefox, the export directive came from a .def file, but we need to
do this for any kind of export.

Reviewers: dmajor, hans, amccarth, alex

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D54723

Details

Committed
rnkNov 26 2018, 5:50 PM
Differential Revision
D54723: [COFF] Add exported functions to gfids table for /guard:cf
Branches
Unknown
Tags
Unknown