[libcxx-commits] [PATCH] D114385: [libunwind] Fix testing with sanitizers enabled

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Nov 23 13:17:20 PST 2021


ldionne updated this revision to Diff 389302.
ldionne added a comment.

Fix CI.

The unwind_leaffunction.pass.cpp test was failing with ubsan because it was
relying on undefined behavior to "do the right thing" and result in a SIGSEGV.
IMO it makes more sense to simply raise a SIGSEGV directly, since that is guaranteed
to work.

The only CI that will still be failing is the 32 bits CI. I traced it back to the fact
that there is no /usr/lib32/libstdc++.so provided on Ubuntu, which leads to `ld` being
unable to find the library for `-lstdc++` (yes, we do link against the system's C++ library
unconditionally now -- we need to, otherwise the sanitizer builds can't work).

I don't know who relies on the 32 bits configuration. We have been supporting it historically,
but in practice it doesn't seem to be very well supported (for example the missing libstdc++
library on Ubuntu). Furthermore, we started seeing a bunch of novel and extremely hard to explain
issues when running 32 bits CI after upgrading our version of Ubuntu. I will create a separate
review with a proposal to remove support for building in 32 bits mode and see what happens there.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D114385

Files:
  libunwind/test/configs/llvm-libunwind-shared.cfg.in
  libunwind/test/configs/llvm-libunwind-static.cfg.in
  libunwind/test/forceunwind.pass.cpp
  libunwind/test/frameheadercache_test.pass.cpp
  libunwind/test/libunwind_01.pass.cpp
  libunwind/test/libunwind_02.pass.cpp
  libunwind/test/remember_state_leak.pass.sh.s
  libunwind/test/signal_frame.pass.cpp
  libunwind/test/signal_unwind.pass.cpp
  libunwind/test/unw_getcontext.pass.cpp
  libunwind/test/unwind_leaffunction.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D114385.389302.patch
Type: text/x-patch
Size: 5340 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20211123/ff9c2363/attachment.bin>


More information about the libcxx-commits mailing list