Open Quuxplusone opened 10 years ago
For reference, I've found:
http://www.opensource.apple.com/source/dyld/dyld-132.13/include/mach-o/dyld_priv.h
-- declares struct dyld_unwind_sections
http://www.opensource.apple.com/source/dyld/dyld-132.13/src/dyldExceptions.c
-- implements _dyld_find_unwind_sections()
or find an alternative way to implement on darwin8 (Unwind/AddressSpace.hpp):
bool LocalAddressSpace::findUnwindSections(pint_t, UnwindInfoSections&);
Comment on attachment 11548
gcc-4.0.1 asm
wrong bug, sorry
Attached PR17505.s
(8569 bytes, text/plain): gcc-4.0.1 asm
Comment on attachment 11549
clang asm of PR17505.cpp
wrong bug, sorry.
Attached PR17505.gcc-s
(6082 bytes, text/plain): clang asm of PR17505.cpp
Just noting here: until one wishes to build a toolchain from the ground-up (not using system libraries) it's probably not worth pursuing this route. Either have libc++abi link against system's libunwind or use libsupc++ on darwin8.
Right now, libc++ linked against libsupc++ on powerpc-darwin8 (with Iain's FDE/EH patches) is showing very promising test results.
Comment on attachment 13668
patch to use __builtin_trap instead
Sorry, should have been an attachment to #22198.
Attached no-builtin_unreachable.patch
(657 bytes, text/plain): patch to use __builtin_trap instead
FWIW, with 22198 and 22200, libunwind is building for Leopard/ppc, so that's a good step forward for anyone trying to get Tiger/ppc working. I doubt I'll make such a step, but some other MacPorts devs have a soft spot for Tiger/ppc and might make additional changes.
Attached libunwind-fallback-x86_64.patch
(553 bytes, text/plain): Fix _dyld_find_unwind_sections fallback implementation
PR17505.s
(8569 bytes, text/plain)PR17505.gcc-s
(6082 bytes, text/plain)no-builtin_unreachable.patch
(657 bytes, text/plain)libunwind-fallback-x86_64.patch
(553 bytes, text/plain)