简体   繁体   中英

Is libunwind implementation of abi in libcxxabi?

I was trying to build libcxx / libcxxabi / libunwind when I realized that I didn't actually understand what role they play.

I checked libcxxabi spci , and found that it defines API used in C++ exception. But I can't find any document about libunwind , and one blog( New libunwind implementation in libc++abi ) I found by google says that libunwind is the implementation of libcxxabi .

So, is libunwind really like that, implements ABI in libcxxabi , if so, why we have libcxxabi ?

I built libunwind myself and checked the symbols in libunwind by using nm and got these:

nm: libunwind.cpp.o: File format not recognized
nm: Unwind-EHABI.cpp.o: File format not recognized
nm: UnwindLevel1.c.o: File format not recognized
nm: UnwindLevel1-gcc-ext.c.o: File format not recognized
nm: Unwind-sjlj.c.o: File format not recognized

UnwindRegistersRestore.S.o:
0000000000000000 T _ZN9libunwind16Registers_x86_646jumptoEv

UnwindRegistersSave.S.o:
0000000000000000 T unw_getcontext

That seems to imply that libunwind just implements the unwind functions, nothing else.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM