Remove cfi_linker from tests

Windows 10's implementation of Control Flow Guard costs about 300 ms
per process-create call with unit_tests.exe and other huge executables.
Since process creation is serialized this adds about 300 s to the test
run time of unit_tests.exe (10,000 tests divided by ten tests per
process times 0.3 s), which means it takes significantly longer to run
than it would otherwise. There have been reports that this causes
unit_tests.exe to take 4-5x as long to run as when CFG is disabled.

CFG is not needed for these tests, so disabling it is fine.

unit_tests.exe, for example, has about 180,000 CFG functions, which is a
lot, but it's not clear why it costs so much to set a bit for each
function in the ~1.5 MB CFG bitmap. That is a problem for Microsoft to
figure out and this is being discussed with them.

The underlying issue and this change do not affect chrome.exe.

See http://www.alex-ionescu.com/?p=246 for more information on CFG.

Bug: 950923
Change-Id: I660ef68ca33141e54cfe895efaa3e7c11bc7118a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1570694
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#652279}
3 files changed