brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.4 KiB · 8bd7e01 Raw
328 lines · plain
1@ RUN: llvm-mc -triple armv7-linux-eabi -filetype obj %s -o %t2@ RUN: llvm-readobj -u %t | FileCheck --check-prefixes=CHECK,SYM %s3 4@@ If .symtab doesn't exist, we can still dump some information.5@ RUN: llvm-objcopy --allow-broken-links --strip-all %t - | llvm-readobj -u - | FileCheck %s6 7	.syntax unified8 9	.cpu cortex-a810	.fpu neon11 12	.section .personality13 14	.type __personality,%function15__personality:16	.fnstart17	bkpt18	.fnend19 20 21	.section .personality022 23	.type personality0,%function24personality0:25	.fnstart26	bx lr27	.fnend28 29 30	.section .personality131 32	.type personality1,%function33personality1:34	.fnstart35	.pad #0x10036	sub sp, sp, #0x10037	.save {r0-r11}38	push {r0-r11}39	pop {r0-r11}40	add sp, sp, #0x10041	bx lr42	.fnend43 44 45	.section .custom_personality46 47	.type custom_personality,%function48custom_personality:49	.fnstart50	.personality __personality51	bx lr52	.fnend53 54 55	.section .opcodes56 57	.type opcodes,%function58opcodes:59	.fnstart60	.vsave {d8-d12}61	vpush {d8-d12}62	vpop {d8-d12}63	bx lr64	.fnend65 66 67	.section .multiple68 69	.type function0,%function70function0:71	.fnstart72	bx lr73	.fnend74 75	.type function1,%function76function1:77	.fnstart78	.personality __personality79	bx lr80	.fnend81 82	.type function2,%function83function2:84	.fnstart85	bx lr86	.fnend87 88	.section .raw89 90	.type raw,%function91	.thumb_func92raw:93	.fnstart94	.unwind_raw 12, 0x0295	.unwind_raw -12, 0x4296	.unwind_raw 0, 0x80, 0x0097	.unwind_raw 4, 0x81, 0x0098	.unwind_raw 4, 0x80, 0x0199	.unwind_raw 8, 0x80, 0xc0100	.unwind_raw 12, 0x84, 0xc0101	.unwind_raw 0, 0x91102	.unwind_raw 8, 0xa1103	.unwind_raw 12, 0xa9104	.unwind_raw 0, 0xb0105	.unwind_raw 4, 0xb4106	.unwind_raw 4, 0xb1, 0x01107	.unwind_raw 0xa04, 0xb2, 0x80, 0x04108	.unwind_raw 24, 0xb3, 0x12109	.unwind_raw 24, 0xba110	.unwind_raw 24, 0xc2111	.unwind_raw 24, 0xc6, 0x02112	.unwind_raw 8, 0xc7, 0x03113	.unwind_raw 24, 0xc8, 0x02114	.unwind_raw 24, 0xc9, 0x02115	.unwind_raw 64, 0xd7116	.fnend117 118	.section .spare119 120	.type spare,%function121spare:122	.fnstart123	.unwind_raw 4, 0x00124	.unwind_raw -4, 0x40125	.unwind_raw 0, 0x80, 0x00126	.unwind_raw 4, 0x88, 0x00127	.unwind_raw 0, 0x91128	.unwind_raw 0, 0x9d129	.unwind_raw 0, 0x9f130	.unwind_raw 0, 0xa0131	.unwind_raw 0, 0xa8132	.unwind_raw 0, 0xb0133	.unwind_raw 4, 0xb1, 0x01134	.unwind_raw 0, 0xb1, 0x10135	.unwind_raw 0x204, 0xb2, 0x00136	.unwind_raw 16, 0xb3, 0x00137	.unwind_raw 16, 0xb8138	.unwind_raw 4, 0xc0139	.unwind_raw 4, 0xc6, 0x00140	.unwind_raw 4, 0xc7, 0x00141	.unwind_raw 4, 0xc7, 0x01142	.unwind_raw 0, 0xc7, 0x10143	.unwind_raw 16, 0xc8, 0x00144	.unwind_raw 16, 0xc9, 0x00145	.unwind_raw 0, 0xca146	.unwind_raw 16, 0xd0147	.unwind_raw 0, 0xd8148	.fnend149 150@ CHECK: UnwindInformation {151@ CHECK:   UnwindIndexTable {152@ CHECK:     SectionName: .ARM.exidx.personality153@ CHECK:     Entries [154@ CHECK:       Entry {155@ CHECK:         FunctionAddress: 0x0156@ SYM:           FunctionName: __personality157@ CHECK:         Model: Compact (Inline)158@ CHECK:         PersonalityIndex: 0159@ CHECK:         Opcodes [160@ CHECK:           0xB0       ; finish161@ CHECK:           0xB0       ; finish162@ CHECK:           0xB0       ; finish163@ CHECK:         ]164@ CHECK:       }165@ CHECK:     ]166@ CHECK:   }167@ CHECK:   UnwindIndexTable {168@ CHECK:     SectionName: .ARM.exidx.personality0169@ CHECK:     Entries [170@ CHECK:       Entry {171@ CHECK:         FunctionAddress: 0x0172@ SYM:           FunctionName: personality0173@ CHECK:         Model: Compact (Inline)174@ CHECK:         PersonalityIndex: 0175@ CHECK:         Opcodes [176@ CHECK:           0xB0       ; finish177@ CHECK:           0xB0       ; finish178@ CHECK:           0xB0       ; finish179@ CHECK:         ]180@ CHECK:       }181@ CHECK:     ]182@ CHECK:   }183@ CHECK:   UnwindIndexTable {184@ CHECK:     SectionName: .ARM.exidx.personality1185@ CHECK:     Entries [186@ CHECK:       Entry {187@ CHECK:         FunctionAddress: 0x0188@ SYM:           FunctionName: personality1189@ SYM:           ExceptionHandlingTable: .ARM.extab.personality1190@ SYM:           TableEntryOffset: 0x0191@ SYM:           Model: Compact192@ SYM:           PersonalityIndex: 1193@ SYM:           Opcodes [194@ SYM:             0xB1 0x0F ; pop {r0, r1, r2, r3}195@ SYM:             0xA7      ; pop {r4, r5, r6, r7, r8, r9, r10, fp}196@ SYM:             0x3F      ; vsp = vsp + 256197@ SYM:             0xB0      ; finish198@ SYM:             0xB0      ; finish199@ SYM:           ]200@ CHECK:       }201@ CHECK:     ]202@ CHECK:   }203@ CHECK:   UnwindIndexTable {204@ CHECK:     SectionName: .ARM.exidx.custom_personality205@ CHECK:     Entries [206@ CHECK:       Entry {207@ CHECK:         FunctionAddress: 0x0208@ SYM:           FunctionName: custom_personality209@ SYM:           ExceptionHandlingTable: .ARM.extab.custom_personality210@ SYM:           TableEntryOffset: 0x0211@ SYM:           Model: Generic212@ SYM:           PersonalityRoutineAddress: 0x0213@ CHECK:       }214@ CHECK:     ]215@ CHECK:   }216@ CHECK:   UnwindIndexTable {217@ CHECK:     SectionName: .ARM.exidx.opcodes218@ CHECK:     Entries [219@ CHECK:       Entry {220@ CHECK:         FunctionAddress: 0x0221@ SYM:           FunctionName: opcodes222@ CHECK:         Model: Compact (Inline)223@ CHECK:         PersonalityIndex: 0224@ CHECK:         Opcodes [225@ CHECK:           0xC9 0x84 ; pop {d8, d9, d10, d11, d12}226@ CHECK:           0xB0      ; finish227@ CHECK:         ]228@ CHECK:       }229@ CHECK:     ]230@ CHECK:   }231@ CHECK:   UnwindIndexTable {232@ CHECK:     SectionName: .ARM.exidx.multiple233@ CHECK:     Entries [234@ CHECK:       Entry {235@ CHECK:         FunctionAddress: 0x0236@ SYM:           FunctionName: function0237@ CHECK:         Model: Compact (Inline)238@ CHECK:         PersonalityIndex: 0239@ CHECK:         Opcodes [240@ CHECK:           0xB0     ; finish241@ CHECK:           0xB0     ; finish242@ CHECK:           0xB0     ; finish243@ CHECK:         ]244@ CHECK:       }245@ CHECK:       Entry {246@ CHECK:         FunctionAddress: 0x4247@ SYM:           FunctionName: function1248@ SYM:           ExceptionHandlingTable: .ARM.extab.multiple249@ SYM:           Model: Generic250@ SYM:           PersonalityRoutineAddress: 0x0251@ CHECK:       }252@ CHECK:       Entry {253@ CHECK:         FunctionAddress: 0x8254@ SYM:           FunctionName: function2255@ CHECK:         Model: Compact (Inline)256@ CHECK:         PersonalityIndex: 0257@ CHECK:         Opcodes [258@ CHECK:           0xB0     ; finish259@ CHECK:           0xB0     ; finish260@ CHECK:           0xB0     ; finish261@ CHECK:         ]262@ CHECK:       }263@ CHECK:     ]264@ CHECK:   }265@ CHECK:   UnwindIndexTable {266@ CHECK:     SectionName: .ARM.exidx.raw267@ CHECK:     Entries [268@ SYM:         Opcodes [269@ SYM:           0xD7      ; pop {d8, d9, d10, d11, d12, d13, d14, d15}270@ SYM:           0xC9 0x02 ; pop {d0, d1, d2}271@ SYM:           0xC8 0x02 ; pop {d16, d17, d18}272@ SYM:           0xC7 0x03 ; pop {wCGR0, wCGR1}273@ SYM:           0xC6 0x02 ; pop {wR0, wR1, wR2}274@ SYM:           0xC2      ; pop {wR10, wR11, wR12}275@ SYM:           0xBA      ; pop {d8, d9, d10}276@ SYM:           0xB3 0x12 ; pop {d1, d2, d3}277@ SYM:           0xB2 0x80 0x04 ; vsp = vsp + 2564278@ SYM:           0xB1 0x01 ; pop {r0}279@ SYM:           0xB4      ; pop ra_auth_code280@ SYM:           0xB0      ; finish281@ SYM:           0xA9      ; pop {r4, r5, lr}282@ SYM:           0xA1      ; pop {r4, r5}283@ SYM:           0x91      ; vsp = r1284@ SYM:           0x84 0xC0 ; pop {r10, fp, lr}285@ SYM:           0x80 0xC0 ; pop {r10, fp}286@ SYM:           0x80 0x01 ; pop {r4}287@ SYM:           0x81 0x00 ; pop {ip}288@ SYM:           0x80 0x00 ; refuse to unwind289@ SYM:           0x42      ; vsp = vsp - 12290@ SYM:           0x02      ; vsp = vsp + 12291@ SYM:         ]292@ CHECK:     ]293@ CHECK:   }294@ CHECK:   UnwindIndexTable {295@ CHECK:     SectionName: .ARM.exidx.spare296@ CHECK:     Entries [297@ SYM:         Opcodes [298@ SYM:           0xD8      ; spare299@ SYM:           0xD0      ; pop {d8}300@ SYM:           0xCA      ; spare301@ SYM:           0xC9 0x00 ; pop {d0}302@ SYM:           0xC8 0x00 ; pop {d16}303@ SYM:           0xC7 0x10 ; spare304@ SYM:           0xC7 0x01 ; pop {wCGR0}305@ SYM:           0xC7 0x00 ; spare306@ SYM:           0xC6 0x00 ; pop {wR0}307@ SYM:           0xC0      ; pop {wR10}308@ SYM:           0xB8      ; pop {d8}309@ SYM:           0xB3 0x00 ; pop {d0}310@ SYM:           0xB2 0x00 ; vsp = vsp + 516311@ SYM:           0xB1 0x10 ; spare312@ SYM:           0xB1 0x01 ; pop {r0}313@ SYM:           0xB0      ; finish314@ SYM:           0xA8      ; pop {r4, lr}315@ SYM:           0xA0      ; pop {r4}316@ SYM:           0x9F      ; reserved (WiMMX MOVrr)317@ SYM:           0x9D      ; reserved (ARM MOVrr)318@ SYM:           0x91      ; vsp = r1319@ SYM:           0x88 0x00 ; pop {pc}320@ SYM:           0x80 0x00 ; refuse to unwind321@ SYM:           0x40      ; vsp = vsp - 4322@ SYM:           0x00      ; vsp = vsp + 4323@ SYM:         ]324@ CHECK:     ]325@ CHECK:   }326@ CHECK: }327 328