[PATCH] AArch64 sanitizer support

Renato Golin renato.golin at linaro.org
Mon Feb 10 13:50:18 PST 2014


Hi kcc,

Patch by Christophe Lyon

The attached patch enables sanitizer (asan, ubsan) on AArch64.

As I work on GCC, I have written the patch and tested it within GCC,
where I had to merge libsanitizer from rev 198044 (this patch is based
onto this revision).

I have an additional patch to enable libsanitizer on AArch64 in GCC,
which I will send to GCC once the AArch64 support has been accepted in
libsanitizer itself.

Testing has proven to be a bit tricky:
- the Foundation Model simulator is slow (causing some timeouts), and
shows reliability problems with GCC's dejagnu testsuite
- qemu-aarch64 is not yet fully supported and goes into infinite loop
when executing the null-deref-1.c test, which otherwise works under
the Foundation Model.
- I managed to have someone execute the GCC testsuite on actual
AArch64 hardware, showing that the tests pass
- some of ubsan tests cause GCC to ICE, but I think this will have to
be addressed separately in GCC

Finally, as I will be away from office for a few weeks, I might not be
able to address all comments, but Renato or Yvan in CC will be able to
answer questions.

http://llvm-reviews.chandlerc.com/D2732

Files:
  libsanitizer/asan/asan_allocator2.cc
  libsanitizer/asan/asan_linux.cc
  libsanitizer/asan/asan_mapping.h
  libsanitizer/asan/asan_rtl.cc
  libsanitizer/configure.tgt
  libsanitizer/sanitizer_common/sanitizer_internal_defs.h
  libsanitizer/sanitizer_common/sanitizer_linux.cc
  libsanitizer/sanitizer_common/sanitizer_platform.h
  libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc
  libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
  libsanitizer/sanitizer_common/sanitizer_posix.cc
  libsanitizer/sanitizer_common/sanitizer_stacktrace.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2732.1.patch
Type: text/x-patch
Size: 11312 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140210/f677ef40/attachment.bin>


More information about the llvm-commits mailing list