# RUN: llvm-mc %s -filetype obj -triple armv7a-- -o %t.o # RUN: not llvm-cfi-verify %t.o 2>&1 | FileCheck %s # CHECK: Could not initialise disassembler: Unsupported architecture. # Source (tiny.cc): # int a() { return 42; } # int b() { return 137; } # int main(int argc, char** argv) { # int(*ptr)(); # if (argc == 1) # ptr = &a; # else # ptr = &b; # return ptr(); # } .text .syntax unified .eabi_attribute 67, "2.09" .eabi_attribute 6, 2 .eabi_attribute 8, 1 .eabi_attribute 9, 1 .eabi_attribute 34, 1 .eabi_attribute 15, 1 .eabi_attribute 16, 1 .eabi_attribute 17, 2 .eabi_attribute 20, 1 .eabi_attribute 21, 1 .eabi_attribute 23, 3 .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 38, 1 .eabi_attribute 18, 4 .eabi_attribute 26, 2 .eabi_attribute 14, 0 .file "ld-temp.o" .p2align 2 .type _Z1av.cfi,%function .code 32 _Z1av.cfi: .Lfunc_begin0: .file 1 "tiny.cc" .loc 1 1 0 .fnstart .cfi_sections .debug_frame .cfi_startproc .loc 1 1 11 prologue_end mov r0, #42 bx lr .Ltmp0: .Lfunc_end0: .size _Z1av.cfi, .Lfunc_end0-_Z1av.cfi .cfi_endproc .cantunwind .fnend .p2align 2 .type _Z1bv.cfi,%function .code 32 _Z1bv.cfi: .Lfunc_begin1: .loc 1 2 0 .fnstart .cfi_startproc .loc 1 2 11 prologue_end mov r0, #137 bx lr .Ltmp1: .Lfunc_end1: .size _Z1bv.cfi, .Lfunc_end1-_Z1bv.cfi .cfi_endproc .cantunwind .fnend .p2align 2 .type main,%function .code 32 main: .Lfunc_begin2: .loc 1 3 0 .fnstart .cfi_startproc .save {r11, lr} push {r11, lr} .cfi_def_cfa_offset 8 .cfi_offset lr, -4 .cfi_offset r11, -8 .setfp r11, sp mov r11, sp .cfi_def_cfa_register r11 .pad #16 sub sp, sp, #16 mov r2, #0 str r2, [r11, #-4] str r0, [sp, #8] str r1, [sp, #4] .Ltmp2: .loc 1 5 7 prologue_end ldr r0, [sp, #8] cmp r0, #1 bne .LBB2_2 b .LBB2_1 .LBB2_1: .loc 1 6 9 ldr r0, .LCPI2_0 .LPC2_0: add r0, pc, r0 str r0, [sp] .loc 1 6 5 is_stmt 0 b .LBB2_3 .LBB2_2: .loc 1 8 9 is_stmt 1 ldr r0, .LCPI2_1 .LPC2_1: add r0, pc, r0 str r0, [sp] b .LBB2_3 .LBB2_3: .loc 1 9 10 ldr r1, [sp] ldr r0, .LCPI2_2 .LPC2_2: add r0, pc, r0 sub r0, r1, r0 ror r0, r0, #2 cmp r0, #2 blo .LBB2_5 b .LBB2_4 .LBB2_4: .inst 0xe7ffdefe .LBB2_5: mov lr, pc bx r1 .loc 1 9 3 is_stmt 0 mov sp, r11 pop {r11, lr} bx lr .Ltmp3: .p2align 2 .loc 1 0 3 .LCPI2_0: .long _Z1av-(.LPC2_0+8) .LCPI2_1: .long _Z1bv-(.LPC2_1+8) .LCPI2_2: .long .L.cfi.jumptable-(.LPC2_2+8) .Lfunc_end2: .size main, .Lfunc_end2-main .cfi_endproc .fnend .p2align 2 .type .L.cfi.jumptable,%function .code 32 .L.cfi.jumptable: .Lfunc_begin3: .fnstart .cfi_startproc @APP b _Z1av.cfi b _Z1bv.cfi @NO_APP .Lfunc_end3: .size .L.cfi.jumptable, .Lfunc_end3-.L.cfi.jumptable .cfi_endproc .cantunwind .fnend .type .L__unnamed_1,%object .section .rodata,"a",%progbits .L__unnamed_1: .size .L__unnamed_1, 0 .section .debug_str,"MS",%progbits,1 .Linfo_string0: .asciz "clang version 7.0.0 (trunk 336681) (llvm/trunk 336683)" .Linfo_string1: .asciz "tiny.cc" .Linfo_string2: .asciz "" .section .debug_abbrev,"",%progbits .byte 1 .byte 17 .byte 0 .byte 37 .byte 14 .byte 19 .byte 5 .byte 3 .byte 14 .byte 16 .byte 23 .byte 27 .byte 14 .byte 17 .byte 1 .byte 18 .byte 6 .byte 0 .byte 0 .byte 0 .section .debug_info,"",%progbits .Lcu_begin0: .long 34 .short 4 .long .debug_abbrev .byte 4 .byte 1 .long .Linfo_string0 .short 4 .long .Linfo_string1 .long .Lline_table_start0 .long .Linfo_string2 .long .Lfunc_begin0 .long .Lfunc_end2-.Lfunc_begin0 .section .debug_ranges,"",%progbits .section .debug_macinfo,"",%progbits .byte 0 .globl __typeid__ZTSFivE_global_addr .hidden __typeid__ZTSFivE_global_addr .set __typeid__ZTSFivE_global_addr, .L.cfi.jumptable .size __typeid__ZTSFivE_global_addr, 1 .type _Z1av,%function .set _Z1av, .L.cfi.jumptable .type _Z1bv,%function .set _Z1bv, .L.cfi.jumptable+4 .ident "clang version 7.0.0 (trunk 336681) (llvm/trunk 336683)" .section ".note.GNU-stack","",%progbits .section .debug_line,"",%progbits .Lline_table_start0: