the exception handling ABI for the ARM architecture它給出了「ARM定義的緊湊模型」異常處理表條目的格式,但沒有關於「通用模型」EHT條目的信息,第一個詞是人格套路的偏移。ARM的C++異常處理 - 通用異常處理表條目的格式
是否有任何文檔給出這些條目的格式超出第一個單詞?我可以看到有到發生在每一個條目中的第三個字的圖案,例如:
0553ff7f a908b100 ffff019c 80808000 92808080 00a48080 8000b680 80800000 ba808080 00848080 80000000
(字節順序顛倒)
第二個字似乎爲每個條目幾個值之間變化,第三個單詞幾乎總是以ffff結尾(有一種情況我已經看到它是10ff)。 第三個單詞的第一個字節有時會指示條目的長度(足夠的時間不是巧合,但不足以說明是規則)。
我看到第一個3之後定期重複的詞語,但我不知道如何解釋它們。
文檔我已經看了:
- http://www.csee.umbc.edu/portal/help/architecture/24525601.pdf
- https://mentorembedded.github.io/cxx-abi/exceptions.pdf
- https://mentorembedded.github.io/cxx-abi/abi-eh.html
我認爲大部分信息都在PDF [ARM體系結構的異常處理ABI]中http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038a/IHI0038A_ehabi.pdf); *表格條目具有可變大小。它以供應商和語言特定的方式編碼通過函數傳播異常所需的操作。*個性是處理語言異常模型的一種方式。例如,'C'非常簡單,*附錄C *表示典型的是三條指令,最多七條。 –