Description: hide _Unwind_RaiseException We don't use it, we use one from libgcc_s, but if libc is linked in before libgcc_s, like here: Dynamic Section: NEEDED libstdc++.so.6 NEEDED libm.so.2 NEEDED libc.so.1 NEEDED libgcc_s.so.1 INIT 0x00000000004008b0 We will have problems. Maybe there are other cases when _Unwind_RaiseException from libc is used. Visible effect of it: application crashes after any throw(). With libgcc_s's _Unwind_RaiseException: (gdb) bt #0 0xfffffd7dc217ceaa in _lwp_kill () from /home/packaging/illumos/illumos-packaging/libc/debian/tmp/lib/x86_64-illumos/libc.so.1 #1 0xfffffd7dc2173d09 in thr_kill (tid=, sig=sig@entry=6) at ../port/threads/thr.c:2163 #2 0xfffffd7dc2119b49 in raise (sig=sig@entry=6) at ../port/gen/raise.c:46 #3 0xfffffd7dc20f5938 in abort () at ../port/gen/abort.c:76 #4 0xfffffd7fe8860c51 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-illumos/libstdc++.so.6 #5 0xfffffd7fe885ddf9 in ?? () from /usr/lib/x86_64-illumos/libstdc++.so.6 #6 0xfffffd7fe885de61 in std::terminate() () from /usr/lib/x86_64-illumos/libstdc++.so.6 #7 0xfffffd7fe885e0fe in __cxa_rethrow () from /usr/lib/x86_64-illumos/libstdc++.so.6 #8 0xfffffd7fe8860c14 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-illumos/libstdc++.so.6 #9 0xfffffd7fe885ddf9 in ?? () from /usr/lib/x86_64-illumos/libstdc++.so.6 #10 0xfffffd7fe885de61 in std::terminate() () from /usr/lib/x86_64-illumos/libstdc++.so.6 #11 0xfffffd7fe885e0a1 in __cxa_throw () from /usr/lib/x86_64-illumos/libstdc++.so.6 #12 0x0000000000400aee in main () With libc's _Unwind_RaiseException: (gdb) bt #0 0x0000000000224e6d in ?? () #1 0xfffffd7ffeebb6b7 in _Unwind_RaiseException_Body (exception_object=0x600f50, entry_ctx=0xfffffd7fffdfed40, phase=1) at ../amd64/unwind/unwind.c:301 #2 0xfffffd7ffeebb892 in _Unwind_RaiseException (exception_object=0x600f50) at ../amd64/unwind/unwind.c:358 #3 0xfffffd7ffea1072d in _Unwind_Resume_or_Rethrow () from /lib/x86_64-illumos/libgcc_s.so.1 #4 0xfffffd7fe885e0f1 in __cxa_rethrow () from /usr/lib/x86_64-illumos/libstdc++.so.6 #5 0xfffffd7fe8860c14 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-illumos/libstdc++.so.6 #6 0xfffffd7fe885ddf9 in ?? () from /usr/lib/x86_64-illumos/libstdc++.so.6 #7 0xfffffd7fe885ce69 in ?? () from /usr/lib/x86_64-illumos/libstdc++.so.6 #8 0xfffffd7fe885d609 in __gxx_personality_v0 () from /usr/lib/x86_64-illumos/libstdc++.so.6 #9 0xfffffd7ffeebb7cc in _Unwind_RaiseException_Body (exception_object=0x600f50, entry_ctx=0xfffffd7fffdff400, phase=6) at ../amd64/unwind/unwind.c:329 #10 0xfffffd7ffeebb892 in _Unwind_RaiseException (exception_object=0x600f50) at ../amd64/unwind/unwind.c:358 #11 0xfffffd7fe885e094 in __cxa_throw () from /usr/lib/x86_64-illumos/libstdc++.so.6 #12 0x0000000000400aee in main () Index: b/usr/src/lib/libc/port/mapfile-vers =================================================================== --- a/usr/src/lib/libc/port/mapfile-vers +++ b/usr/src/lib/libc/port/mapfile-vers @@ -980,17 +980,6 @@ $if amd64 _UA_FORCE_UNWIND; _UA_HANDLER_FRAME; _UA_SEARCH_PHASE; - _Unwind_DeleteException; - _Unwind_ForcedUnwind; - _Unwind_GetCFA; - _Unwind_GetGR; - _Unwind_GetIP; - _Unwind_GetLanguageSpecificData; - _Unwind_GetRegionStart; - _Unwind_RaiseException; - _Unwind_Resume; - _Unwind_SetGR; - _Unwind_SetIP; $endif } SUNW_1.21.3;