forked from OSchip/llvm-project
6fde832b82
Currently, many profiling tests on Solaris FAIL like Command Output (stderr): -- Undefined first referenced symbol in file __llvm_profile_register_names_function /tmp/lit_tmp_Nqu4eh/infinite_loop-9dc638.o __llvm_profile_register_function /tmp/lit_tmp_Nqu4eh/infinite_loop-9dc638.o Solaris 11.4 ld supports the non-standard GNU ld extension of adding __start_SECNAME and __stop_SECNAME labels to sections whose names are valid as C identifiers. Given that we already use Solaris 11.4-only features like ld -z gnu-version-script-compat and fully working .preinit_array support in compiler-rt, we don't need to worry about older versions of Solaris ld. The patch documents that support (although the comment in lib/Transforms/Instrumentation/InstrProfiling.cpp (needsRuntimeRegistrationOfSectionRange) is quite cryptic what it's actually about), and adapts the affected testcase not to expect the alternativeq __llvm_profile_register_functions and __llvm_profile_init. It fixes all affected tests. Tested on amd64-pc-solaris2.11. Differential Revision: https://reviews.llvm.org/D41111 llvm-svn: 363984 |
||
---|---|---|
.. | ||
AddressSanitizer.cpp | ||
BoundsChecking.cpp | ||
CFGMST.h | ||
CGProfile.cpp | ||
CMakeLists.txt | ||
ControlHeightReduction.cpp | ||
DataFlowSanitizer.cpp | ||
GCOVProfiling.cpp | ||
HWAddressSanitizer.cpp | ||
IndirectCallPromotion.cpp | ||
InstrOrderFile.cpp | ||
InstrProfiling.cpp | ||
Instrumentation.cpp | ||
LLVMBuild.txt | ||
MaximumSpanningTree.h | ||
MemorySanitizer.cpp | ||
PGOInstrumentation.cpp | ||
PGOMemOPSizeOpt.cpp | ||
SanitizerCoverage.cpp | ||
ThreadSanitizer.cpp |