[PATCH] D87558: [RISCV][ASAN] mark asan as supported for RISCV and enable tests

Anatoly Parshincev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 12 07:36:33 PDT 2020


EccoTheDolphin updated this revision to Diff 291392.
EccoTheDolphin added a comment.
Herald added subscribers: llvm-commits, apazos, pzheng, jocewei, jfb, the_o, brucehoult, MartinMosbeck, edward-jones, zzheng, jrtc27, niosHD, sabuasal, johnrusso, rbar, asb, hiraditya, krytarowski.
Herald added a project: LLVM.

Port addres sanititizers to RISCV architecture

This change allows using ASAN on RISCV architecture. The majoirity of existing
tests are passing. With few exceptions (see below). Tests we run on qemu and
on "HiFive Unleashed" board.

Tests run:

  Asan-riscv64-inline-Test  - pass
  Asan-riscv64-inline-Noinst-Test  - pass
  Asan-riscv64-calls-Noinst-Test  - pass
  Asan-riscv64-calls-Test  - pass

Lit tests:

  RISCV64LinuxConfig (282 supported, few failures)
  RISCV64LinuxDynamicConfig (289 supported, few failures)

Lit failures:

asan_and_llvm_coverage_test.cpp - missing libclang_rt.profile-riscv64.a
deep_stack_uaf.cpp  - asan works, but backtrace misses some calls
malloc_context_size.cpp - asan works, but backtrace misses some calls
malloc_delete_mismatch.cpp  - asan works, but backtrace misses some calls
plugin_wrong_frame_number_bug.cpp - asan works, but backtrace misses some calls
stack-trace-dlclose.cpp - asan works, but backtrace misses some calls
strndup_oob_test.cpp  - asan works, but backtrace misses some calls
static_tls.cpp  - "Can't guess glibc version" (under debugging)

These failures are under debuggng currently and shall be addressed in a
subsequent commits


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87558/new/

https://reviews.llvm.org/D87558

Files:
  compiler-rt/cmake/config-ix.cmake
  compiler-rt/lib/asan/asan_allocator.h
  compiler-rt/lib/asan/asan_interceptors.h
  compiler-rt/lib/asan/asan_interceptors_vfork.S
  compiler-rt/lib/asan/asan_mapping.h
  compiler-rt/lib/asan/asan_shadow_setup.cpp
  compiler-rt/lib/asan/scripts/asan_symbolize.py
  compiler-rt/lib/asan/tests/asan_test.cpp
  compiler-rt/lib/builtins/clear_cache.c
  compiler-rt/lib/crt/crtbegin.c
  compiler-rt/lib/hwasan/hwasan_interceptors_vfork.S
  compiler-rt/lib/sanitizer_common/CMakeLists.txt
  compiler-rt/lib/sanitizer_common/sanitizer_common.h
  compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_riscv64.inc.S
  compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
  compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_linux.h
  compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_platform.h
  compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
  compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
  compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
  compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_riscv64.inc
  compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
  compiler-rt/test/asan/CMakeLists.txt
  compiler-rt/test/asan/TestCases/Linux/ptrace.cpp
  compiler-rt/test/asan/TestCases/Linux/vfork.cpp
  llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87558.291392.patch
Type: text/x-patch
Size: 44932 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200912/f832aae0/attachment.bin>


More information about the llvm-commits mailing list