[libcxx][libcxxabi] Fix build for OpenBSD (#92186)llvmorg-18.1.6
commit1118c2e05e67a36ed8ca250524525cdb66a55256
authorJohn Ericson <John.Ericson@Obsidian.Systems>
Fri, 17 May 2024 20:49:04 +0000 (17 16:49 -0400)
committerTom Stellard <tstellar@redhat.com>
Sat, 18 May 2024 14:14:07 +0000 (18 07:14 -0700)
tree3e511f798cc9245995319dd46dc9ff06c7cdfe5c
parent48c1364200b5649dda2f9ccbe382b0bd908b99de
[libcxx][libcxxabi] Fix build for OpenBSD (#92186)

- No indirect syscalls on OpenBSD. Instead there is a `futex` function
which issues a direct syscall.

- Monotonic clock is available despite the full POSIX suite of timers
not being available in its entirety.

  See https://lists.boost.org/boost-bugs/2015/07/41690.php and
  https://github.com/boostorg/log/commit/c98b1f459add14d5ce3e9e63e2469064601d7f71
  for a description of an analogous problem and fix for Boost.

(cherry picked from commit af7467ce9f447d6fe977b73db1f03a18d6bbd511)
libcxx/src/atomic.cpp
libcxx/src/chrono.cpp
libcxxabi/src/cxa_guard_impl.h