[all-commits] [llvm/llvm-project] 40067b: [compiler-rt] change internal internal libc invari...

michaelrj-google via All-commits all-commits at lists.llvm.org
Tue Aug 24 09:41:27 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 40067b88c0bc0af93dec209404acc52664fdf43d
      https://github.com/llvm/llvm-project/commit/40067b88c0bc0af93dec209404acc52664fdf43d
  Author: Michael Jones <michaelrj at google.com>
  Date:   2021-08-24 (Tue, 24 Aug 2021)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/memprof/memprof_interceptors.cpp
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_netbsd_compat.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_libc.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_libc.h
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp

  Log Message:
  -----------
  [compiler-rt] change internal internal libc invariants

llvm-libc is expected to be built with sanitizers and not use interceptors in
the long run. For now though, we have a hybrid process, where functions
implemented in llvm-libc are instrumented, and glibc fills and sanitizer
interceptors fill in the rest.

Current sanitizers have an invariant that the REAL(...) function called from
inside of an interceptor is uninstrumented. A lot of interceptors call strlen()
in order to figure out the size of the region to check/poison. Switch these
callsites over to the internal, unsanitized implementation.

Reviewed By: hctim, vitalybuka

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




More information about the All-commits mailing list