# 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: