.file "test_eh.cc" .section .ctors,"aw",@progbits .align 4 .long __GLOBAL__I__Z3foov@c .section .text._ZNSt9exceptionC1Ev,"axG",@progbits,_ZNSt9exceptionC1Ev,comdat .align 4 .weak __ZNSt9exceptionC1Ev .type __ZNSt9exceptionC1Ev, @function __ZNSt9exceptionC1Ev: .LFB4: push $2, r13 .LCFI0: addd $-4, (sp) .LCFI1: movd (sp), (r13) stord (r3,r2), 0(r13) movd $__ZTVSt9exception+8@l, (r3,r2) loadd 0(r13), (r1,r0) stord (r3,r2), 0(r1,r0) movd (r13), (sp) addd $4, (sp) .LCFI2: pop $2, r13 jump (ra) .LCFI3: .LFE4: .size __ZNSt9exceptionC1Ev, .-__ZNSt9exceptionC1Ev .globl ___gxx_personality_v0 .section .text .align 4 .type __Z41__static_initialization_and_destruction_0ii, @function __Z41__static_initialization_and_destruction_0ii: .LFB1398: push $2, r13, ra .LCFI4: addd $-4, (sp) .LCFI5: movd (sp), (r13) storw r2, 0(r13) storw r3, 2(r13) loadw 0(r13), r0 cmpw $1, r0 bne .L7 loadw 2(r13), r0 cmpw $-1, r0 bne .L7 movd $__ZSt8__ioinit@l, (r3,r2) bal (ra), __ZNSt8ios_base4InitC1Ev@c movd $___dso_handle@l, (r1,r0) push $2,r0 .LCFI6: movd $0, (r5,r4) movd $___tcf_0@c, (r3,r2) .LCFI7: bal (ra), ___cxa_atexit@c addd $4, (sp) .LCFI8: .L7: movd (r13), (sp) addd $4, (sp) .LCFI9: popret $2, r13, ra .LCFI10: .LFE1398: .size __Z41__static_initialization_and_destruction_0ii, .-__Z41__static_initialization_and_destruction_0ii .align 4 .type __GLOBAL__I__Z3foov, @function __GLOBAL__I__Z3foov: .LFB1400: push $2, r13, ra .LCFI11: movd (sp), (r13) movw $-1, r3 movw $1, r2 bal (ra), __Z41__static_initialization_and_destruction_0ii@c movd (r13), (sp) popret $2, r13, ra .LCFI12: .LFE1400: .size __GLOBAL__I__Z3foov, .-__GLOBAL__I__Z3foov .align 4 .type ___tcf_0, @function ___tcf_0: .LFB1399: push $2, r13, ra .LCFI13: addd $-4, (sp) .LCFI14: movd (sp), (r13) stord (r3,r2), 0(r13) movd $__ZSt8__ioinit@l, (r3,r2) bal (ra), __ZNSt8ios_base4InitD1Ev@c movd (r13), (sp) addd $4, (sp) .LCFI15: popret $2, r13, ra .LCFI16: .LFE1399: .size ___tcf_0, .-___tcf_0 .section .rodata .align 2 .LC0: .string "Caught something in %s\n" .globl __Unwind_Resume .section .text .align 4 .globl __Z3foov .type __Z3foov, @function __Z3foov: .LFB1386: push $2, r13, ra push $4, r7 .LCFI17: addd $-4, (sp) .LCFI18: movd (sp), (r13) movd $4, (r3,r2) bal (ra), ___cxa_allocate_exception@c movd (r1,r0), (r8,r7) movd (r8,r7), (r1,r0) movd (r1,r0), (r3,r2) bal (ra), __ZNSt9exceptionC1Ev@c movd $__ZNSt9exceptionD1Ev@c, (r1,r0) push $2,r0 .LCFI19: movd $__ZTISt9exception@l, (r5,r4) movd (r8,r7), (r3,r2) .LEHB0: .LCFI20: bal (ra), ___cxa_throw@c .LEHE0: .LCFI21: .L18: stord (r8,r7), 0(r13) .L13: loadd 0(r13), (r3,r2) .LCFI22: bal (ra), ___cxa_begin_catch@c movd $__ZZ3foovE12__FUNCTION__@l, (r1,r0) push $2,r0 .LCFI23: movd $.LC0@l, (r1,r0) push $2,r0 .LCFI24: .LEHB1: .LCFI25: bal (ra), _printf@c addd $8, (sp) .LCFI26: .LCFI27: bal (ra), ___cxa_rethrow@c .LEHE1: .L17: stord (r8,r7), 0(r13) .L14: loadd 0(r13), (r8,r7) bal (ra), ___cxa_end_catch@c stord (r8,r7), 0(r13) loadd 0(r13), (r3,r2) .LEHB2: bal (ra), __Unwind_Resume@c .LEHE2: .LFE1386: .size __Z3foov, .-__Z3foov .section .gcc_except_table,"aw",@progbits .align 4 .LLSDA1386: .byte 0xff .byte 0x0 .uleb128 .LLSDATT1386-.LLSDATTD1386 .LLSDATTD1386: .byte 0x1 .uleb128 .LLSDACSE1386-.LLSDACSB1386 .LLSDACSB1386: .uleb128 .LEHB0-.LFB1386 .uleb128 .LEHE0-.LEHB0 .uleb128 .L18-.LFB1386 .uleb128 0x1 .uleb128 .LEHB1-.LFB1386 .uleb128 .LEHE1-.LEHB1 .uleb128 .L17-.LFB1386 .uleb128 0x0 .uleb128 .LEHB2-.LFB1386 .uleb128 .LEHE2-.LEHB2 .uleb128 0x0 .uleb128 0x0 .LLSDACSE1386: .byte 0x1 .byte 0x0 .align 4 .long 0 .LLSDATT1386: .section .text .section .rodata .align 2 .LC1: .string "after foo()" .align 2 .LC2: .string "Caught %d\n" .align 2 .LC3: .string "Caught exception: " .align 2 .LC4: .string "Caught something" .align 2 .LC5: .string "Exiting cleanly...\n" .section .text .align 4 .globl _main .type _main, @function _main: .LFB1390: push $2, r13, ra push $4, r7 .LCFI28: addd $-20, (sp) .LCFI29: movd (sp), (r13) .LEHB3: bal (ra), __Z3foov@c movd $.LC1@l, (r3,r2) bal (ra), _puts@c .LEHE3: br .L20 .L32: stord (r8,r7), 12(r13) storw r9, 16(r13) loadw 16(r13), r0 cmpw $3, r0 beq .L21 loadw 16(r13), r0 cmpw $2, r0 beq .L23 br .L25 .L21: loadd 12(r13), (r3,r2) bal (ra), ___cxa_begin_catch@c loadw 0(r1,r0), r0 storw r0, 4(r13) addd $-2, (sp) .LCFI30: loadw 4(r13), r0 push $1,r0 .LCFI31: movd $.LC2@l, (r1,r0) push $2,r0 .LCFI32: .LEHB4: .LCFI33: bal (ra), _printf@c .LEHE4: addd $8, (sp) .LCFI34: .LCFI35: bal (ra), ___cxa_end_catch@c br .L20 .L31: stord (r8,r7), 12(r13) .L22: loadd 12(r13), (r8,r7) bal (ra), ___cxa_end_catch@c stord (r8,r7), 12(r13) loadd 12(r13), (r3,r2) .LEHB5: bal (ra), __Unwind_Resume@c .LEHE5: .L23: loadd 12(r13), (r3,r2) bal (ra), ___cxa_begin_catch@c stord (r1,r0), 0(r13) loadd 0(r13), (r1,r0) loadd 0(r1,r0), (r1,r0) addd $8, (r1,r0) loadd 0(r1,r0), (r1,r0) loadd 0(r13), (r3,r2) jal (r1,r0) stord (r1,r0), 8(r13) movd $.LC3@l, (r5,r4) movd $__ZSt4cout@l, (r3,r2) .LEHB6: bal (ra), __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@c loadd 8(r13), (r5,r4) movd (r1,r0), (r3,r2) bal (ra), __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@c movd $__ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@c, (r5,r4) movd (r1,r0), (r3,r2) bal (ra), __ZNSolsEPFRSoS_E@c .LEHE6: bal (ra), ___cxa_end_catch@c br .L20 .L30: stord (r8,r7), 12(r13) .L24: loadd 12(r13), (r8,r7) bal (ra), ___cxa_end_catch@c stord (r8,r7), 12(r13) loadd 12(r13), (r3,r2) .LEHB7: bal (ra), __Unwind_Resume@c .LEHE7: .L25: loadd 12(r13), (r3,r2) bal (ra), ___cxa_begin_catch@c movd $.LC4@l, (r3,r2) .LEHB8: bal (ra), _puts@c .LEHE8: .LEHB9: bal (ra), ___cxa_end_catch@c .LEHE9: br .L20 .L29: stord (r8,r7), 12(r13) .L26: loadd 12(r13), (r8,r7) bal (ra), ___cxa_end_catch@c stord (r8,r7), 12(r13) loadd 12(r13), (r3,r2) .LEHB10: bal (ra), __Unwind_Resume@c .L20: movd $.LC5@l, (r5,r4) movd $__ZSt4cout@l, (r3,r2) bal (ra), __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@c .LEHE10: movw $0, r0 movd (r13), (sp) addd $20, (sp) .LCFI36: pop $4, r7 popret $2, r13, ra .LCFI37: .LFE1390: .size _main, .-_main .section .gcc_except_table .align 4 .LLSDA1390: .byte 0xff .byte 0x0 .uleb128 .LLSDATT1390-.LLSDATTD1390 .LLSDATTD1390: .byte 0x1 .uleb128 .LLSDACSE1390-.LLSDACSB1390 .LLSDACSB1390: .uleb128 .LEHB3-.LFB1390 .uleb128 .LEHE3-.LEHB3 .uleb128 .L32-.LFB1390 .uleb128 0x5 .uleb128 .LEHB4-.LFB1390 .uleb128 .LEHE4-.LEHB4 .uleb128 .L31-.LFB1390 .uleb128 0x0 .uleb128 .LEHB5-.LFB1390 .uleb128 .LEHE5-.LEHB5 .uleb128 0x0 .uleb128 0x0 .uleb128 .LEHB6-.LFB1390 .uleb128 .LEHE6-.LEHB6 .uleb128 .L30-.LFB1390 .uleb128 0x0 .uleb128 .LEHB7-.LFB1390 .uleb128 .LEHE7-.LEHB7 .uleb128 0x0 .uleb128 0x0 .uleb128 .LEHB8-.LFB1390 .uleb128 .LEHE8-.LEHB8 .uleb128 .L29-.LFB1390 .uleb128 0x0 .uleb128 .LEHB9-.LFB1390 .uleb128 .LEHE9-.LEHB9 .uleb128 0x0 .uleb128 0x0 .uleb128 .LEHB10-.LFB1390 .uleb128 .LEHE10-.LEHB10 .uleb128 0x0 .uleb128 0x0 .LLSDACSE1390: .byte 0x1 .byte 0x0 .byte 0x2 .byte 0x7d .byte 0x3 .byte 0x7d .align 4 .long __ZTIi .long __ZTISt9exception .long 0 .LLSDATT1390: .section .text .local __ZSt8__ioinit .comm __ZSt8__ioinit,1,1 .section .rodata .align 2 .type __ZZ3foovE12__FUNCTION__, @object .size __ZZ3foovE12__FUNCTION__, 4 __ZZ3foovE12__FUNCTION__: .string "foo" .section .debug_frame,"",@progbits .Lframe0: .long .LECIE0-.LSCIE0 .LSCIE0: .long 0xffffffff .byte 0x1 .string "" .uleb128 0x1 .sleb128 -2 .byte 0xe .byte 0xc .uleb128 0xf .uleb128 0x0 .align 4 .LECIE0: .LSFDE0: .long .LEFDE0-.LASFDE0 .LASFDE0: .long .Lframe0 .long .LFB4 .long .LFE4-.LFB4 .byte 0x4 .long .LCFI0-.LFB4 .byte 0xe .uleb128 0x4 .byte 0x4 .long .LCFI1-.LCFI0 .byte 0xe .uleb128 0x8 .byte 0x8d .uleb128 0x2 .byte 0x4 .long .LCFI2-.LCFI1 .byte 0xe .uleb128 0x4 .byte 0x4 .long .LCFI3-.LCFI2 .byte 0xe .uleb128 0x0 .align 4 .LEFDE0: .LSFDE2: .long .LEFDE2-.LASFDE2 .LASFDE2: .long .Lframe0 .long .LFB1398 .long .LFE1398-.LFB1398 .byte 0x4 .long .LCFI4-.LFB1398 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI5-.LCFI4 .byte 0xe .uleb128 0xc .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x4 .long .LCFI6-.LCFI5 .byte 0xe .uleb128 0x10 .byte 0x4 .long .LCFI7-.LCFI6 .byte 0x2e .uleb128 0x4 .byte 0x4 .long .LCFI8-.LCFI7 .byte 0xe .uleb128 0xc .byte 0x4 .long .LCFI9-.LCFI8 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI10-.LCFI9 .byte 0xe .uleb128 0x0 .align 4 .LEFDE2: .LSFDE4: .long .LEFDE4-.LASFDE4 .LASFDE4: .long .Lframe0 .long .LFB1400 .long .LFE1400-.LFB1400 .byte 0x4 .long .LCFI11-.LFB1400 .byte 0xe .uleb128 0x8 .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x4 .long .LCFI12-.LCFI11 .byte 0xe .uleb128 0x0 .align 4 .LEFDE4: .LSFDE6: .long .LEFDE6-.LASFDE6 .LASFDE6: .long .Lframe0 .long .LFB1399 .long .LFE1399-.LFB1399 .byte 0x4 .long .LCFI13-.LFB1399 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI14-.LCFI13 .byte 0xe .uleb128 0xc .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x4 .long .LCFI15-.LCFI14 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI16-.LCFI15 .byte 0xe .uleb128 0x0 .align 4 .LEFDE6: .LSFDE8: .long .LEFDE8-.LASFDE8 .LASFDE8: .long .Lframe0 .long .LFB1386 .long .LFE1386-.LFB1386 .byte 0x4 .long .LCFI17-.LFB1386 .byte 0xe .uleb128 0x10 .byte 0x4 .long .LCFI18-.LCFI17 .byte 0xe .uleb128 0x14 .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x8a .uleb128 0x5 .byte 0x89 .uleb128 0x6 .byte 0x88 .uleb128 0x7 .byte 0x87 .uleb128 0x8 .byte 0x4 .long .LCFI19-.LCFI18 .byte 0xe .uleb128 0x18 .byte 0x4 .long .LCFI20-.LCFI19 .byte 0x2e .uleb128 0x4 .byte 0x4 .long .LCFI21-.LCFI20 .byte 0xe .uleb128 0x14 .byte 0x4 .long .LCFI22-.LCFI21 .byte 0x2e .uleb128 0x0 .byte 0x4 .long .LCFI23-.LCFI22 .byte 0xe .uleb128 0x18 .byte 0x4 .long .LCFI24-.LCFI23 .byte 0xe .uleb128 0x1c .byte 0x4 .long .LCFI25-.LCFI24 .byte 0x2e .uleb128 0x8 .byte 0x4 .long .LCFI26-.LCFI25 .byte 0xe .uleb128 0x14 .byte 0x4 .long .LCFI27-.LCFI26 .byte 0x2e .uleb128 0x0 .align 4 .LEFDE8: .LSFDE10: .long .LEFDE10-.LASFDE10 .LASFDE10: .long .Lframe0 .long .LFB1390 .long .LFE1390-.LFB1390 .byte 0x4 .long .LCFI28-.LFB1390 .byte 0xe .uleb128 0x10 .byte 0x4 .long .LCFI29-.LCFI28 .byte 0xe .uleb128 0x24 .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x8a .uleb128 0x5 .byte 0x89 .uleb128 0x6 .byte 0x88 .uleb128 0x7 .byte 0x87 .uleb128 0x8 .byte 0x4 .long .LCFI30-.LCFI29 .byte 0xe .uleb128 0x26 .byte 0x4 .long .LCFI31-.LCFI30 .byte 0xe .uleb128 0x28 .byte 0x4 .long .LCFI32-.LCFI31 .byte 0xe .uleb128 0x2c .byte 0x4 .long .LCFI33-.LCFI32 .byte 0x2e .uleb128 0x8 .byte 0x4 .long .LCFI34-.LCFI33 .byte 0xe .uleb128 0x24 .byte 0x4 .long .LCFI35-.LCFI34 .byte 0x2e .uleb128 0x0 .byte 0x4 .long .LCFI36-.LCFI35 .byte 0xe .uleb128 0x10 .byte 0x4 .long .LCFI37-.LCFI36 .byte 0xe .uleb128 0x0 .align 4 .LEFDE10: .section .eh_frame,"aw",@progbits .Lframe1: .long .LECIE1-.LSCIE1 .LSCIE1: .long 0x0 .byte 0x1 .string "zPL" .uleb128 0x1 .sleb128 -2 .byte 0xe .uleb128 0x6 .byte 0x0 .long ___gxx_personality_v0@c .byte 0x0 .byte 0xc .uleb128 0xf .uleb128 0x0 .align 4 .LECIE1: .LSFDE3: .long .LEFDE3-.LASFDE3 .LASFDE3: .long .LASFDE3-.Lframe1 .long .LFB1398 .long .LFE1398-.LFB1398 .uleb128 0x4 .long 0x0 .byte 0x4 .long .LCFI4-.LFB1398 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI5-.LCFI4 .byte 0xe .uleb128 0xc .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x4 .long .LCFI6-.LCFI5 .byte 0xe .uleb128 0x10 .byte 0x4 .long .LCFI7-.LCFI6 .byte 0x2e .uleb128 0x4 .byte 0x4 .long .LCFI8-.LCFI7 .byte 0xe .uleb128 0xc .byte 0x4 .long .LCFI9-.LCFI8 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI10-.LCFI9 .byte 0xe .uleb128 0x0 .align 4 .LEFDE3: .LSFDE5: .long .LEFDE5-.LASFDE5 .LASFDE5: .long .LASFDE5-.Lframe1 .long .LFB1400 .long .LFE1400-.LFB1400 .uleb128 0x4 .long 0x0 .byte 0x4 .long .LCFI11-.LFB1400 .byte 0xe .uleb128 0x8 .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x4 .long .LCFI12-.LCFI11 .byte 0xe .uleb128 0x0 .align 4 .LEFDE5: .LSFDE7: .long .LEFDE7-.LASFDE7 .LASFDE7: .long .LASFDE7-.Lframe1 .long .LFB1399 .long .LFE1399-.LFB1399 .uleb128 0x4 .long 0x0 .byte 0x4 .long .LCFI13-.LFB1399 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI14-.LCFI13 .byte 0xe .uleb128 0xc .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x4 .long .LCFI15-.LCFI14 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI16-.LCFI15 .byte 0xe .uleb128 0x0 .align 4 .LEFDE7: .LSFDE9: .long .LEFDE9-.LASFDE9 .LASFDE9: .long .LASFDE9-.Lframe1 .long .LFB1386 .long .LFE1386-.LFB1386 .uleb128 0x4 .long .LLSDA1386 .byte 0x4 .long .LCFI17-.LFB1386 .byte 0xe .uleb128 0x10 .byte 0x4 .long .LCFI18-.LCFI17 .byte 0xe .uleb128 0x14 .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x8a .uleb128 0x5 .byte 0x89 .uleb128 0x6 .byte 0x88 .uleb128 0x7 .byte 0x87 .uleb128 0x8 .byte 0x4 .long .LCFI19-.LCFI18 .byte 0xe .uleb128 0x18 .byte 0x4 .long .LCFI20-.LCFI19 .byte 0x2e .uleb128 0x4 .byte 0x4 .long .LCFI21-.LCFI20 .byte 0xe .uleb128 0x14 .byte 0x4 .long .LCFI22-.LCFI21 .byte 0x2e .uleb128 0x0 .byte 0x4 .long .LCFI23-.LCFI22 .byte 0xe .uleb128 0x18 .byte 0x4 .long .LCFI24-.LCFI23 .byte 0xe .uleb128 0x1c .byte 0x4 .long .LCFI25-.LCFI24 .byte 0x2e .uleb128 0x8 .byte 0x4 .long .LCFI26-.LCFI25 .byte 0xe .uleb128 0x14 .byte 0x4 .long .LCFI27-.LCFI26 .byte 0x2e .uleb128 0x0 .align 4 .LEFDE9: .LSFDE11: .long .LEFDE11-.LASFDE11 .LASFDE11: .long .LASFDE11-.Lframe1 .long .LFB1390 .long .LFE1390-.LFB1390 .uleb128 0x4 .long .LLSDA1390 .byte 0x4 .long .LCFI28-.LFB1390 .byte 0xe .uleb128 0x10 .byte 0x4 .long .LCFI29-.LCFI28 .byte 0xe .uleb128 0x24 .byte 0x8e .uleb128 0x2 .byte 0x8d .uleb128 0x4 .byte 0x8a .uleb128 0x5 .byte 0x89 .uleb128 0x6 .byte 0x88 .uleb128 0x7 .byte 0x87 .uleb128 0x8 .byte 0x4 .long .LCFI30-.LCFI29 .byte 0xe .uleb128 0x26 .byte 0x4 .long .LCFI31-.LCFI30 .byte 0xe .uleb128 0x28 .byte 0x4 .long .LCFI32-.LCFI31 .byte 0xe .uleb128 0x2c .byte 0x4 .long .LCFI33-.LCFI32 .byte 0x2e .uleb128 0x8 .byte 0x4 .long .LCFI34-.LCFI33 .byte 0xe .uleb128 0x24 .byte 0x4 .long .LCFI35-.LCFI34 .byte 0x2e .uleb128 0x0 .byte 0x4 .long .LCFI36-.LCFI35 .byte 0xe .uleb128 0x10 .byte 0x4 .long .LCFI37-.LCFI36 .byte 0xe .uleb128 0x0 .align 4 .LEFDE11: .ident "GCC: (GNU) 4.1.2"