[PATCH] llvm-readobj: add support for ARM EHABI unwind info
Logan Chien
tzuhsiang.chien at gmail.com
Mon Jan 6 05:44:00 PST 2014
================
Comment at: tools/llvm-readobj/ARMEHABIPrinter.h:117
@@ +116,3 @@
+
+ /// ARM EHABI §6.2 - The generic model
+ ///
----------------
There is some strange symbol in this line.
================
Comment at: tools/llvm-readobj/ARMEHABIPrinter.h:129
@@ +128,3 @@
+ ///
+ /// ARM EHABI § 6.3 - The ARM-defined compact model
+ ///
----------------
There is some strange symbol in this line.
================
Comment at: tools/llvm-readobj/ARMEHABIPrinter.h:236
@@ +235,3 @@
+
+ PrintByteCode(Contents->slice(Entry * IndexTableEntrySize + 4, 3));
+ } else {
----------------
Should this be "(Entry * IndexTableEntrySize + 5)" instead? The 0x80 itself is not an unwind opcode.
================
Comment at: test/tools/llvm-readobj/arm-unwind.s:25
@@ +24,3 @@
+ .fnend
+
+
----------------
It will be great if you include .personality1 in your test as well. FYI.
.syntax unified
.cpu cortex-a9
.section .personality1
.align 2
.global personality1
.type personality1,%function
personality1:
.fnstart
.pad #0x100
sub sp, sp, #0x100
.save {r0-r11}
push {r0-r11}
pop {r0-r11}
add sp, sp, #0x100
bx lr
.fnend
================
Comment at: tools/llvm-readobj/ARMEHABIPrinter.h:149
@@ +148,3 @@
+
+ switch (PersonalityIndex) {
+ case AEABI_UNWIND_CPP_PR0:
----------------
In fact, the only possible personality index is 0. For the other personality index, they should be placed in .ARM.extab section. (It will be helpful to have a look to the personality1 test case which I have given above.)
http://llvm-reviews.chandlerc.com/D2513
More information about the llvm-commits
mailing list