Home | History | Annotate | Download | only in X86
      1 # REQUIRES: object-emission
      2 # RUN: rm -rf %t
      3 # RUN: mkdir -p %t
      4 # RUN: llc -filetype=obj %p/../Inputs/frame-dw2.ll -o %t/frame-dw2.o
      5 # RUN: dsymutil -f -oso-prepend-path=%t -y %s -o - | llvm-dwarfdump -debug-frame - | FileCheck %s
      6 
      7 # This test is meant to verify that identical CIEs will get reused
      8 # in the same file but also inbetween files. For this to happen, we
      9 # link twice the same file using this made-up debug map:
     10 
     11 ---
     12 triple:          'i386-apple-darwin'
     13 objects:
     14   - filename: frame-dw2.o
     15     symbols:
     16       - { sym: _bar, objAddr: 0x0, binAddr: 0x1000, size: 0x12 }
     17       - { sym: _baz, objAddr: 0x0, binAddr: 0x2000, size: 0x12 }
     18   - filename: frame-dw2.o
     19     symbols:
     20       - { sym: _baz, objAddr: 0x0, binAddr: 0x3000, size: 0x12 }
     21 ...
     22 
     23 # CHECK: .debug_frame contents:
     24 # CHECK: 00000000 {{[0-9a-f]*}} ffffffff CIE
     25 # CHECK-NOT: FDE
     26 # CHECK:  FDE cie=00000000 pc=00001000...00001
     27 # CHECK-NOT: FDE
     28 # CHECK:  FDE cie=00000000 pc=00002000...00002
     29 # CHECK-NOT: FDE
     30 # CHECK:  FDE cie=00000000 pc=00003000...00003
     31 # CHECK-NOT: FDE
     32 # CHECK: .eh_frame contents:
     33