forked from OSchip/llvm-project
d44901f21b
ARM EABI adds target attributes to the object file. Amongst the attributes that are emitted is the VFP argument passing (Hard vs Soft). The linker is responsible for checking these attributes and erroring on mismatches. This causes problems for the compiler-rt builtins when targeting both hard and soft. Because both of these options name the builtins compiler-rt component the same (libclang_rt.builtins-arm.a or libclang_rt.builtins-arm-android). GCC is able to get away with this as it does one target per toolchain. This changes the naming convention for the ARM compiler-rt builtins to differentiate between HF and Soft. Although this means that compiler-rt may be duplicated, it enables supporting both variants from a single toolchain. A similar approach is taken by the Darwin toolchain, naming the library to differentiate between the calling conventions. llvm-svn: 248649 |
||
---|---|---|
.. | ||
Action.cpp | ||
CMakeLists.txt | ||
Compilation.cpp | ||
CrossWindowsToolChain.cpp | ||
Driver.cpp | ||
DriverOptions.cpp | ||
InputInfo.h | ||
Job.cpp | ||
MSVCToolChain.cpp | ||
Makefile | ||
MinGWToolChain.cpp | ||
Multilib.cpp | ||
Phases.cpp | ||
SanitizerArgs.cpp | ||
Tool.cpp | ||
ToolChain.cpp | ||
ToolChains.cpp | ||
ToolChains.h | ||
Tools.cpp | ||
Tools.h | ||
Types.cpp |