# NB: The minidump core file exists only because "image show-unwind" currently # requires a process to exist. If that changes, it can be removed. # REQUIRES: x86, lld # RUN: split-file %s %t # RUN: yaml2obj %t/a.core.yaml -o %t/a.core # RUN: %clang -c --target=x86_64-pc-linux %t/a.s -o %t/a.o # RUN: ld.lld --shared %t/a.o -o %t/a.debug --build-id=0xdeadbeef \ # RUN: --image-base=0x10000 # RUN: llvm-objcopy --strip-all %t/a.debug %t/a.stripped # RUN: cd %t # RUN: %lldb -c %t/a.core \ # RUN: -o "settings set interpreter.stop-command-source-on-error false" \ # RUN: -s %t/commands -o quit | FileCheck %s #--- commands image add a.stripped image load --file a.stripped --slide 0 image list # CHECK-LABEL: image list # CHECK: [ 0] DEADBEEF 0x0000000000010000 a.stripped ## Due to missing symbol information this (incorrectly) prints the unwind ## information for public_fn1 image show-unwind -n public_fn1 --cached true # CHECK-LABEL: image show-unwind -n public_fn1 # CHECK-NEXT: UNWIND PLANS for a.stripped`public_fn1 (start addr 0x12000) # CHECK-NOT: debug_frame UnwindPlan: target symbols add -s a.stripped a.debug # CHECK-LABEL: target symbols add # CHECK: symbol file {{.*}} has been added to {{.*}} image show-unwind -n private_fn --cached true # CHECK-LABEL: image show-unwind -n private_fn # CHECK-NEXT: UNWIND PLANS for a.stripped`private_fn (start addr 0x12010) # CHECK: debug_frame UnwindPlan: # CHECK-NEXT: This UnwindPlan originally sourced from DWARF CFI # CHECK-NEXT: This UnwindPlan is sourced from the compiler: yes. # CHECK-NEXT: This UnwindPlan is valid at all instruction locations: no. # CHECK-NEXT: This UnwindPlan is for a trap handler function: no. # CHECK-NEXT: Address range of this UnwindPlan: [a.stripped.PT_LOAD[1]..text + 16-19) #--- a.s .text .cfi_sections .debug_frame .globl public_fn1, public_fn2 .p2align 12 public_fn1: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset %rbp, -16 popq %rbp .cfi_def_cfa %rsp, 8 retq .cfi_endproc .p2align 4 private_fn: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset %rbp, -16 popq %rbp .cfi_def_cfa %rsp, 8 retq .cfi_endproc .p2align 4 public_fn2: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset %rbp, -16 popq %rbp .cfi_def_cfa %rsp, 8 retq .cfi_endproc #--- a.core.yaml --- !minidump Streams: - Type: SystemInfo Processor Arch: AMD64 Platform ID: Linux CPU: Vendor ID: GenuineIntel Version Info: 0x00000000 Feature Info: 0x00000000 - Type: ThreadList Threads: - Thread Id: 0x000074F3 Context: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B001000000000006CAE000000006B7FC05A0000C81D415A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2BF9E5A6B7F0000000000000000000000000000000000008850C14BFD7F00009850C14BFD7F00000100000000000000B04AC14BFD7F0000000000000000000060812D01000000000800000000000000B065E05A6B7F00008004400000000000E050C14BFD7F00000000000000000000000000000000000004400000000000007F03FFFF0000FFFFFFFFFFFF000000000000000000000000801F00006B7F00000400000000000000B84CC14BFD7F0000304D405A6B7F0000C84DC14BFD7F0000C0AA405A6B7F00004F033D0000000000B84DC14BFD7F0000E84DC14BFD7F0000000000000000000000000000000000000070E05A6B7F000078629E5A6B7F0000C81D415A6B7F0000804F9E5A6B7F00000000000001000000E603000001000000E093115A6B7F0000804EC14BFD7F0000584EC14BFD7F000099ADC05A6B7F00000100000000000000AAAAD77D0000000002000000000000000800000000000000B065E05A6B7F0000E6B7C05A6B7F0000010000006B7F0000884DC14BFD7F0000106F7C5A6B7F0000984EC14BFD7F0000488B7C5A6B7F0000C4A71CB90000000001000000000000000800000000000000B065E05A6B7F000048B6C05A6B7F0000702AE25A6B7F0000D84DC14BFD7F000030489E5A6B7F0000E84EC14BFD7F0000E05E9E5A6B7F00000991F0460000000001000000000000000800000000000000B065E05A6B7F000048B6C05A6B7F00000100000000000000284EC14BFD7F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Stack: Start of Memory Range: 0x00007FFD4BC15080 Content: 30044000000000000000000000000000 - Type: MemoryList Memory Ranges: - Start of Memory Range: 0x00007FFD4BC15080 Content: 30044000000000000000000000000000 ...