[LLD][COFF] Add /inferasanlibs to lld-link as ignored flag
authorAlvin Wong <alvin@alvinhc.com>
Sun, 23 Apr 2023 15:58:24 +0000 (23:58 +0800)
committerAlvin Wong <alvin@alvinhc.com>
Mon, 24 Apr 2023 14:06:34 +0000 (22:06 +0800)
commit8fa0cfeb61a12ad5ca7830a8228155de32aa7ab2
tree26113bf1ffdafe583ca284d09734e84258be2168
parent9b15e9840f5073aa38939fbef1cb0c64dcc5f02f
[LLD][COFF] Add /inferasanlibs to lld-link as ignored flag

MSVC link.exe added this flag and MS STL started using this flag in
.drectve [1] when compiling with Clang with asan enabled, as reported
on https://github.com/llvm/llvm-project/issues/56300. This causes issues
with lld-link because it rejects any unknown flags in .drective sections.

As dc07867dc9991c982bd3441da19d6fcc16ea54d6 noted that, when using Clang
as the driver it explicitly passes the proper asan libraries. Therefore
it should be acceptable to ignore this flag in lld-link to at least
unbreak building with clang-cl and linking with lld-link.

[1]: https://github.com/microsoft/STL/blob/faaf094ee16bcbfb2c8d612fdb9334bcdef2fd0a/stl/inc/__msvc_sanitizer_annotate_container.hpp#L35

Differential Revision: https://reviews.llvm.org/D149023
lld/COFF/Driver.cpp
lld/COFF/Options.td
lld/test/COFF/inferasanlibs-drectve.s [new file with mode: 0644]
lld/test/COFF/inferasanlibs.test [new file with mode: 0644]