diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2026-11-06 14:26:18 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2026-11-06 23:21:08 +0000 |
| commit | 9dae9b31d2c7834de72a27c6d635ebeab53cebc6 (patch) | |
| tree | 61279784b580883226080173b07f746a5b71645d /usr.bin/procstat/procstat_cs.c | |
| parent | c3a05933b34f705077e88a7a2d1c4bad85e73e79 (diff) | |
Static linking must bring in both symbols for the unwind to work.
The landing pads added by 2734bbbcba3c reference _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: 2734bbbcba3c ("libthr: Create landing pad in thr_once in C++ exception")
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'usr.bin/procstat/procstat_cs.c')
0 files changed, 0 insertions, 0 deletions
