【问题标题】:Is libunwind implementation of abi in libcxxabi?libunwind 是在 libcxxabi 中实现 abi 的吗?
【发布时间】:2018-05-25 10:45:19
【问题描述】:

我正在尝试构建libcxx/libcxxabi/libunwind,但我意识到我实际上并不了解它们所扮演的角色。

我检查了libcxxabi spci,发现它定义了C++异常中使用的API。但是我找不到任何关于libunwind的文档,我在google上找到的一篇博客(New libunwind implementation in libc++abi)说libunwindlibcxxabi的实现。

那么,libunwind 真的是这样吗,在 libcxxabi 中实现 ABI,如果是,为什么我们有 libcxxabi

【问题讨论】:

    标签: llvm libc++ libunwind


    【解决方案1】:

    我自己构建了libunwind,并使用nm检查了libunwind中的符号并得到了这些:

    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
    

    这似乎暗示libunwind 只是实现了展开功能,没有别的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-19
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      • 2021-04-26
      相关资源
      最近更新 更多