Any update on this?
I have been depending on dynamically rebind __cxa_throw in the loaded libraries to catch the original stack trace, implementation explained here https://github.com/facebook/fishhook
The problem is after iOS 14.5 it's not working anymore because I cannot find the Mach-O section where "lazy symbol pointer table" is found, and thus not able to rebind __cxa_throw_. I have discussed this in a lap in WWDC21, it looks related to a change called "Chained fixups" that I'm still searching for.
If the bug reported here is fixed I won't need that workaround at all.
More info:
Sections in > iOS 14.5
Image .... /usr/lib/libc++.1.dylib
sect name: __got_weak in __DATA
found non lazy symbol pointer table ✔️
sect name: __data in __DATA
sect name: __bss in __DATA
sect name: __common in __DATA
sect name: __got in __DATA_CONST
found non lazy symbol pointer table ✔️
sect name: __const in __DATA_CONST
Sections < iOS 14.5
Image .... /usr/lib/libc++.1.dylib
sect name: __got_weak in __DATA
found non lazy symbol pointer table ✔️
sect name: __la_weak_ptr in __DATA
found lazy symbol pointer table ✔️
sect name: __got in __DATA_CONST
found non lazy symbol pointer table ✔️
sect name: __la_symbol_ptr in __DATA_CONST
found lazy symbol pointer table ✔️
✅ found __cxa_throw in __la_symbol_ptr in __DATA_CONST