brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · ca051b0 Raw
51 lines · plain
1// RUN: llvm-mc -triple x86_64-apple-macos10.6 -filetype=obj %s -o %t.o2// RUN: llvm-objdump --macho --unwind-info --dwarf=frames %t.o | FileCheck %s3 4/// For functions whose unwind info cannot be encoded with compact unwind, make5/// sure that we encode them using DWARF unwind, and make sure we emit a compact6/// unwind entry that indicates that a DWARF encoding is being used.7 8_f:9  .cfi_startproc10  ## This encodes DW_CFA_GNU_args_size which cannot be expressed using compact11  ## unwind, so we must use DWARF unwind instead.12  .cfi_escape 0x2e, 0x1013  ret14  .cfi_endproc15 16_g:17  .cfi_startproc18  ## This encodes DW_CFA_GNU_args_size which cannot be expressed using compact19  ## unwind, so we must use DWARF unwind instead.20  .cfi_escape 0x2e, 0x1021  ret22  .cfi_endproc23 24// CHECK: Contents of __compact_unwind section:25// CHECK:   Entry at offset 0x0:26// CHECK:     start:                0x[[#%x,F:]] _f27// CHECK:     length:               0x128// CHECK:     compact encoding:     0x0400000029// CHECK:   Entry at offset 0x20:30// CHECK:     start:                0x[[#%x,G:]] _g31// CHECK:     length:               0x132// CHECK:     compact encoding:     0x0400000033 34// CHECK: .eh_frame contents:35// CHECK: 00000000 00000014 00000000 CIE36// CHECK:   Format:                DWARF3237// CHECK:   Version:               138// CHECK:   Augmentation:          "zR"39// CHECK:   Code alignment factor: 140// CHECK:   Data alignment factor: -841// CHECK:   Return address column: 1642// CHECK:   Augmentation data:     1043 44// CHECK: FDE cie=00000000 pc=[[#%.8x,F]]...45// CHECK:   Format:       DWARF3246// CHECK:   DW_CFA_GNU_args_size: +1647 48// CHECK: FDE cie=00000000 pc=[[#%.8x,G]]...49// CHECK:   Format:       DWARF3250// CHECK:   DW_CFA_GNU_args_size: +1651