[all-commits] [llvm/llvm-project] 80ff3a: [nsan] Add shared runtime

Fangrui Song via All-commits all-commits at lists.llvm.org
Wed Jul 10 18:35:27 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 80ff3acd364810ec11efd45c2ce98a1bf9ce0f73
      https://github.com/llvm/llvm-project/commit/80ff3acd364810ec11efd45c2ce98a1bf9ce0f73
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/nsan/nsan.h
    M compiler-rt/lib/nsan/nsan.syms.extra
    M compiler-rt/lib/nsan/nsan_interceptors.cpp
    A compiler-rt/lib/nsan/nsan_malloc_linux.cpp

  Log Message:
  -----------
  [nsan] Add shared runtime

so that `clang -fsanitize=numerical -shared-libsan` will use
`libclang_rt.nsan.so` on Linux.

Shared runtime is preferred for some platforms (Android, Apple, Fuchsia;
though they are not supported yet) and helps plugin use cases (#98302).

* Update `ninja nsan` to build `libclang_rt.nsan.so`
* Fix `nsan.syms.extra`: `nsan_*` is unneeded. Add `__ubsan_*` so that
  `-fsanitize=numerical,undefined -shared-libsan` works.
* Move allocation functions to `nsan_malloc_linux.cpp`. While Apple
  platforms aren't supported yet, this separation makes it easier to add
  Apple support.
* Delete interceptors for very obsoleted pvalloc/valloc but retain
  memalign.
* Replace `HandleEarlyAlloc` with `DlsymAlloc`.

Pull Request: https://github.com/llvm/llvm-project/pull/98415



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list