mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-11-07 04:36:52 -10:00
Static linking must bring in both symbols for the unwind to work. The landing pads added by2734bbbcbareference _Unwind_Resume and __gcc_personality_v0. In a static link, these pull UnwindLevel1.o from libgcc_eh.a, which also defines _Unwind_ForcedUnwind, but not UnwindLevel1-gcc-ext.o, which defines _Unwind_GetCFA. Unless something else pulls that object in, as libcxxrt does for C++ programs, thread_unwind_stop() calls a NULL _Unwind_GetCFA on every thread exit. Reported and tested by: dch Fixes:2734bbbcba("libthr: Create landing pad in thr_once in C++ exception") Sponsored by: The FreeBSD Foundation