llvm-project/clang/lib/Driver
Marcos Pividori 7eeaf90193 [windows] [asan] Add wholearchive flag when including static lib asan.
In Windows, when the sanitizer is implemented as a static library, we use
auxiliary static library dll_thunk that will be linked to the dlls that have
instrumentation, so they can refer to the runtime in the main executable.
It uses interception to get a pointer the function in the main executable and
override its function with that pointer.
Because of that, we need to ensure that the main executable exports all the
sanitizers' interface, otherwise the initialization in dll_thunk will fail.

In this commit we add the flag -wholearchive to clang driver to ensure that
the linker does not omit any object files from asan library.

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

llvm-svn: 293668
2017-01-31 18:31:38 +00:00
..
Action.cpp Fix MSVC "not all control paths return a value" warning 2016-10-28 10:09:35 +00:00
CMakeLists.txt [Driver] Refactor distro detection & classification as a separate API 2016-11-28 21:11:14 +00:00
Compilation.cpp [Driver][OpenMP] Add logic for offloading-specific argument translation. 2016-10-27 17:39:44 +00:00
CrossWindowsToolChain.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
Distro.cpp [Driver] Fix recognizing newer OpenSUSE versions 2016-11-28 21:11:18 +00:00
Driver.cpp clang-cl: Warn about /U flags that look like filenames (PR31662) 2017-01-27 17:09:41 +00:00
DriverOptions.cpp unique_ptrify createDriverOptTable 2017-01-13 17:34:15 +00:00
InputInfo.h Add an Action* member to InputInfo. 2016-01-11 23:15:21 +00:00
Job.cpp [CrashReproducer] Collect PCH included via -include-pch 2016-12-12 19:28:25 +00:00
MSVCToolChain.cpp [Driver] Driver changes to support CUDA compilation on Windows. 2017-01-05 16:52:29 +00:00
MinGWToolChain.cpp [ToolChains] Use "static" instead of an anonymous namespace for a function. NFC 2017-01-05 16:52:47 +00:00
Multilib.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
Phases.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
SanitizerArgs.cpp [sanitizers] lsan+sancov doesn't need ubsanrt (multi def error) 2016-12-08 22:25:01 +00:00
Tool.cpp Rename the version of ConstructJob for multiple outputs to ConstructJobMultipleOutputs. 2016-11-03 15:41:50 +00:00
ToolChain.cpp [Driver] Allow setting the default linker during build 2016-12-14 16:46:50 +00:00
ToolChains.cpp [lsan] Enable LSan for x86 Linux 2017-01-31 07:00:23 +00:00
ToolChains.h [Driver] Driver changes to support CUDA compilation on Windows. 2017-01-05 16:52:29 +00:00
Tools.cpp [windows] [asan] Add wholearchive flag when including static lib asan. 2017-01-31 18:31:38 +00:00
Tools.h Add AVR target and toolchain to Clang 2017-01-05 05:20:27 +00:00
Types.cpp [Driver][OpenMP] Update actions builder to create unbundling action when necessary. 2016-10-27 18:00:51 +00:00