[all-commits] [llvm/llvm-project] f8da95: [compiler-rt] Add shared_cxxabi requirement to som...

PiJoules via All-commits all-commits at lists.llvm.org
Fri Sep 24 11:53:11 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f8da95cd7e68ea66010843ef44adbe8d2807170c
      https://github.com/llvm/llvm-project/commit/f8da95cd7e68ea66010843ef44adbe8d2807170c
  Author: Leonard Chan <leonardchan at google.com>
  Date:   2021-09-24 (Fri, 24 Sep 2021)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Linux/odr-vtable.cpp
    M compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-virtual-base.cpp

  Log Message:
  -----------
  [compiler-rt] Add shared_cxxabi requirement to some tests

This adds REQUIRES: shared_cxxabi to a bunch of tests that would fail if this
weak reference in sanitizer common was undefined. This is necessary in cases
where libc++abi.a is statically linked in. Because there is no strong reference
to __cxa_demangle in compiler-rt, then if libc++abi is linked in via a static
archive, then the linker will not extract the archive member that would define
that weak symbol. This causes a handful of tests to fail because this leads to
the symbolizer printing mangled symbols where tests expect them demangled.

Technically, this feature is WAI since sanitizer runtimes shouldn't fail if
this symbol isn't resolved, and linking statically means you wouldn't need to
link in all of libc++abi. As a workaround, we can simply make it a requirement
that these tests use shared libc++abis.

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




More information about the All-commits mailing list