mirror.osn.de :: Status

Status

Age (hh:mm:ss) of last commit: 01:06:06

Last commit message:

CVSROOT:	/cvs
Module name:	src
Changes by:	bluhm@cvs.openbsd.org	2025/11/16 13:38:58
Modified files:
	gnu/llvm/libunwind/src: Tag: OPENBSD_7_8 AddressSpace.hpp 
	                        UnwindCursor.hpp assembly.h 
Log message:
re-apply three commits that were lost while merging the 19.1.7 update
Initial IP-based caching implementation with O(logn) lookup.
Caching implemented via red-black trees, this can be improved and
further work is on-going to bring it closer to GNU's performance that
uses a LRU-MRU 8-entries based caching algorithm.
Prompted by robert@ who run into a runtime of an executed macro of
5 minutes in libreoffice. With this the execution is reduced to 58 seconds.
C++11 tips from espie@, rsadowski@
Tested by robert@
from robert@; OK mortimer@, kettenis@.
Make the unwind cache tread-safe by declaring it thread_local. Solves
segfaults seen on exception handling.
from robert@; ok kettenis@
take 2: re-apply two commits that were lost while merging the 19.1.7 update
Reintroduce a tweaked version of the IP-based caching implementation.
Implementing a custom "new" operator has the two following desirable
properties:
- make the code more standalone, not depending on "new" from libcxx.
- teach this allocator to return nullptr on memory shortage ("noexcept")
so it can fail gracefully. If we can't allocate an item, we just don't
cache it.
That should be more resilient to memory shortages and thus more usable
from libexecinfo.
from jca@; ok rsadowski@ robert@
take 2: re-apply one commit that was lost while merging the 19.1.7 update
I've been overzealous when backing out some unrelated changes.
Re-apply requested by robert@
Linux still doesn't actually implement IBT for userland.  And by the pace
things are going, it will take another decade before it does.  But OpenBSD
has it enabled *by default* already.
Drop the #ifdef __linux__.  This should hurt other OSes when they finally
catch up with us.
from jca@; ok robert@, tb@
this is errata/7.8/006_libunwind.patch.sig