[PATCH] D40943: [Sanitizers] Enable sanitizers on SPARC (PR 33274)

Rainer Orth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 7 01:01:35 PST 2017


ro created this revision.
ro added a project: Sanitizers.
Herald added subscribers: Sanitizers, fedor.sergeev, aheejin, mgorny, kubamracek, jyknight.

This patch (on top of https://reviews.llvm.org/D40899 and https://reviews.llvm.org/D40900) primarily serves to document what I did to test the Solaris sanitizer support
on SPARC.

While initial results inside the gcc tree have been almost as good as the Solaris/x86
results, it's currently useless with clang since most tests fail due a llvm sparc backend
limitation:

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

Nonetheless, here's what the patch does:

- 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)


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D40943

Files:
  cmake/Modules/CompilerRTUtils.cmake
  cmake/base-config-ix.cmake
  cmake/builtin-config-ix.cmake
  cmake/config-ix.cmake
  lib/asan/tests/CMakeLists.txt
  lib/builtins/CMakeLists.txt
  lib/builtins/fp_lib.h
  test/asan/CMakeLists.txt
  test/ubsan/CMakeLists.txt
  test/ubsan_minimal/CMakeLists.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40943.125896.patch
Type: text/x-patch
Size: 6910 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171207/cb10875d/attachment.bin>


More information about the llvm-commits mailing list