我试图准确理解异常表 ( .arm.extab) 的工作原理。我知道这是依赖于编译器的,所以我将限制自己使用armcc(因为我使用的是Keil)。
表中的典型条目类似于:
b0aa0380 2a002c00 01000000 00000000
据我了解,第一个字编码个性例程的指令,而第三个字是重R_ARM_PREL31定位到 catch 块的开头。
让我困惑的是第二个词——它似乎被分成了两条短裤,其中第二条距离投掷功能开始处有一段距离,但我不确定到底是什么(也不确定第一条短裤的作用)。
是否有任何地方记录了这些条目的结构?
我找到了 2 个相关文档,但据我所知,它们没有依赖于编译器的信息,因此它们还不够:
比较各种C编译器的C优化器的标准基准是什么?
我对ARM基准测试(或可以移植到ARM的基准测试)特别感兴趣。