mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-10 14:10:58 +00:00
e88f2f375e
dsymutil should by default generate dSYM bundles which are filesystem hierarchies containing the debug info and an additional Info.plist. Currently llvm-dsymutil emits raw binaries containing the debug info. This is what we call the 'flat mode'. Add a -f/-flat option that is supposed to enable that flat mode, but don't wire it for now, only pass it to the tests that will need it to stay functional once we do bundle generation by default. This basically makes this commit NFC and removes the noise from the actual commit that adds support for bundle generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244269 91177308-0d34-0410-b5e6-96231b3b80d8
48 lines
1.7 KiB
Plaintext
48 lines
1.7 KiB
Plaintext
# REQUIRES: object-emission
|
|
# RUN: rm -rf %t
|
|
# RUN: mkdir -p %t
|
|
# RUN: llc -filetype=obj %p/../Inputs/frame-dw2.ll -o %t/frame-dw2.o
|
|
# RUN: llc -filetype=obj %p/../Inputs/frame-dw4.ll -o %t/frame-dw4.o
|
|
# RUN: llvm-dsymutil -f -oso-prepend-path=%t -y %s -o - | llvm-dwarfdump -debug-dump=frames - | FileCheck %s
|
|
|
|
# Check the handling of multiple different CIEs. To have CIEs that
|
|
# appear to be different, use a dwarf2 version of the file along with
|
|
# a dwarf 4 version. The CIE header version (and layout) will be different.
|
|
# FIXME: this test also checks that we didn't reuse the first CIE when it
|
|
# appears again. This is a behavior we inherited from dsymutil-classic
|
|
# but this should be fixed (see comment in patchFrameInfoForObject())
|
|
---
|
|
triple: 'i386-apple-darwin'
|
|
objects:
|
|
- filename: frame-dw2.o
|
|
symbols:
|
|
- { sym: _bar, objAddr: 0x0, binAddr: 0x1000, size: 0x12 }
|
|
- { sym: _baz, objAddr: 0x0, binAddr: 0x2000, size: 0x12 }
|
|
- filename: frame-dw4.o
|
|
symbols:
|
|
- { sym: _baz, objAddr: 0x0, binAddr: 0x3000, size: 0x12 }
|
|
- filename: frame-dw2.o
|
|
symbols:
|
|
- { sym: _bar, objAddr: 0x0, binAddr: 0x4000, size: 0x12 }
|
|
...
|
|
|
|
# CHECK: .debug_frame contents:
|
|
# CHECK: 00000000 {{[0-9a-f]*}} ffffffff CIE
|
|
# CHECK-NEXT: Version:{{.*}}1
|
|
# CHECK-NOT: FDE
|
|
# CHECK: FDE cie=00000000 pc=00001000...00001
|
|
# CHECK-NOT: FDE
|
|
# CHECK: FDE cie=00000000 pc=00002000...00002
|
|
# CHECK-NOT: FDE
|
|
# CHECK: [[CIEDW4:[0-9a-f]*]] 00000010 ffffffff CIE
|
|
# CHECK-NEXT: Version:{{.*}}4
|
|
# CHECK-NOT: FDE
|
|
# CHECK: FDE cie=[[CIEDW4]] pc=00003000...00003
|
|
# CHECK-NOT: FDE
|
|
# CHECK: [[CIEDW2:[0-9a-f]*]] {{[0-9a-f]*}} ffffffff CIE
|
|
# CHECK-NEXT: Version:{{.*}}1
|
|
# CHECK-NOT: FDE
|
|
# CHECK: FDE cie=[[CIEDW2]] pc=00004000...00004
|
|
# CHECK-NOT: FDE
|
|
|