mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-20 19:25:05 +00:00
[libFuzzer] Export external functions on tests.
We need to export external functions so they are found when calling GetProcAddress() on Windows. But we can't use `__declspec(dllexport)` because we want the targets to be completely independent from the fuzz engines and don't depend on other header files. Also, we don't want to include platform specific code managed with conditional macros. So, the solution is to add the exported symbols with linker flags in cmake. Differential revision: https://reviews.llvm.org/D29752 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294688 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d9191ae5c6
commit
671eb85b72
@ -142,6 +142,18 @@ foreach(Test ${Tests})
|
||||
add_libfuzzer_test(${Test} SOURCES ${Test}.cpp)
|
||||
endforeach()
|
||||
|
||||
function(test_export_symbol target symbol)
|
||||
if(MSVC)
|
||||
set_target_properties(LLVMFuzzer-${target} PROPERTIES LINK_FLAGS
|
||||
"-export:${symbol}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
test_export_symbol(InitializeTest "LLVMFuzzerInitialize")
|
||||
test_export_symbol(BogusInitializeTest "LLVMFuzzerInitialize")
|
||||
test_export_symbol(CustomCrossOverTest "LLVMFuzzerCustomCrossOver")
|
||||
test_export_symbol(CustomMutatorTest "LLVMFuzzerCustomMutator")
|
||||
|
||||
###############################################################################
|
||||
# Unit tests
|
||||
###############################################################################
|
||||
|
Loading…
x
Reference in New Issue
Block a user