llvm-project/compiler-rt/lib
Rainer Orth 4a9a772f44 Enable compiler-rt on SPARC
This patch enables compiler-rt on SPARC targets. Most of the changes are straightforward:

- Add 32 and 64-bit sparc to compiler-rt

- lib/builtins/fp_lib.h needed to check if the int128_t and uint128_t types exist (which they don't on sparc)

There's one issue of note: many asan tests fail to compile on Solaris/SPARC:

fatal error: error in backend: Function "_ZN7testing8internal16BoolFromGTestEnvEPKcb": over-aligned dynamic alloca not supported.

Therefore, while asan is still built, both asan and ubsan-with-asan testing is disabled. The
goal is to check if asan keeps compiling on Solaris/SPARC. This serves asan in gcc,
which doesn't have the problem above and works just fine.

With this patch, sparcv9-sun-solaris2.11 test results are pretty good:

Failing Tests (9):
    Builtins-sparc-sunos :: divtc3_test.c
    Builtins-sparcv9-sunos :: compiler_rt_logbl_test.c
    Builtins-sparcv9-sunos :: divtc3_test.c
[...]
    UBSan-Standalone-sparc :: TestCases/TypeCheck/misaligned.cpp
    UBSan-Standalone-sparcv9 :: TestCases/TypeCheck/misaligned.cpp

The builtin failures are due to Bugs 42493 and 42496. The tree contained a few additonal
patches either currently in review or about to be submitted.

Tested on sparcv9-sun-solaris2.11.

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

llvm-svn: 365880
2019-07-12 08:30:17 +00:00
..
BlocksRuntime [compiler-rt] Test commit: remove some trailing white spaces. 2017-08-25 19:36:30 +00:00
asan Enable compiler-rt on SPARC 2019-07-12 08:30:17 +00:00
builtins Enable compiler-rt on SPARC 2019-07-12 08:30:17 +00:00
cfi Improve error message when '=' is missing in {ASAN,...}_OPTIONS. 2019-06-15 01:37:14 +00:00
crt Use CMAKE_C_COMPILER_ARG1 in compiler invocation 2019-05-19 03:29:15 +00:00
dfsan Improve error message when '=' is missing in {ASAN,...}_OPTIONS. 2019-06-15 01:37:14 +00:00
fuzzer [libFuzzer] Include FuzzedDataProvider.h in the test without "utils" subdir. 2019-07-09 19:28:14 +00:00
gwp_asan Explicitly define __STDC_FORMAT_MACROS for PRIu64 2019-07-11 18:07:03 +00:00
hwasan hwasan: Improve precision of checks using short granule tags. 2019-07-09 20:22:36 +00:00
interception [compiler-rt][tests] Propagate COMPILER_RT_UNITTEST_LINK_FLAGS 2019-05-01 22:25:16 +00:00
lsan Add NetBSD LSan support 2019-07-11 06:22:35 +00:00
msan Improve error message when '=' is missing in {ASAN,...}_OPTIONS. 2019-06-15 01:37:14 +00:00
profile (Reland with changes) Adding a function for setting coverage output file. 2019-06-24 21:32:50 +00:00
safestack [safestack] Explain why tinfo at the end of the buffer 2019-02-07 23:20:47 +00:00
sanitizer_common [Sanitizers] Fix SanitizerCommon-Unit :: ./Sanitizer-*-Test/MemoryMappingLayout.DumpListOfModules on Solaris 2019-07-12 08:27:50 +00:00
scudo [scudo][standalone] NFC corrections 2019-07-11 19:55:53 +00:00
stats Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
tsan [TSan] Move DECLARE_REAL macro outside of namespace 2019-07-11 18:26:33 +00:00
ubsan Improve error message when '=' is missing in {ASAN,...}_OPTIONS. 2019-06-15 01:37:14 +00:00
ubsan_minimal [compiler-rt][UBSan] Sanitization for alignment assumptions. 2019-01-15 09:44:27 +00:00
xray Improve error message when '=' is missing in {ASAN,...}_OPTIONS. 2019-06-15 01:37:14 +00:00
CMakeLists.txt Reland "[compiler-rt] Simple crtbegin.o and crtend.o implementation" 2019-04-30 18:13:22 +00:00