llvm-project/lldb/test/Shell/Commands/command-disassemble-process.yaml
Aiden Grossman a7b58e74a0
[lldb] Remove %T from lit tests (#151343)
%T has been deprecated for about seven years, mostly because it is not
unique to each test which can lead to races. This patch updates the few
remaining tests in lldb that use %T to not use it (either directly using
files or creating their own temp dir). The eventual goal is to remove
support for %T from llvm-lit given few tests use it and it still has
racey behavior.

This patch errors on the side of creating new temp dirs even when not
strictly necessary to avoid needing to update filenames inside filecheck
matchers.
2025-07-30 09:09:54 -07:00

144 lines
8.0 KiB
YAML

# REQUIRES: x86
# RUN: mkdir -p %t.dir
# RUN: yaml2obj --docnum=1 -DMAIN_SIZE=8 %s -o %t.dir/command-disassemble-process.exe
# RUN: yaml2obj --docnum=1 -DMAIN_SIZE=8000 %s -o %t.dir/command-disassemble-process.big.exe
# RUN: yaml2obj --docnum=2 %s -o %t
# RUN: %lldb -c %t %t.dir/command-disassemble-process.exe \
# RUN: -o "settings set interpreter.stop-command-source-on-error false" \
# RUN: -s %S/Inputs/command-disassemble-process.lldbinit -o exit \
# RUN: | FileCheck %s
# RUN: %lldb -c %t %t.dir/command-disassemble-process.big.exe \
# RUN: -o "settings set stop-disassembly-max-size 8000" \
# RUN: -o disassemble -o exit 2>&1 | FileCheck %s --check-prefix=BIG
# RUN: %lldb -c %t %t.dir/command-disassemble-process.exe \
# RUN: -o "settings set interpreter.stop-command-source-on-error false" \
# RUN: -o "disassemble --address 0xdead" -o exit 2>&1 \
# RUN: | FileCheck %s --check-prefix=INVALID
# CHECK: (lldb) disassemble
# CHECK-NEXT: command-disassemble-process.exe`main:
# CHECK-NEXT: 0x4002 <+0>: jmp 0x4004 ; <+2>
# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)
# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)
# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)
# CHECK-NEXT: (lldb) disassemble --line
# CHECK-NEXT: command-disassemble-process.exe`main:
# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)
# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)
# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)
# CHECK-NEXT: 0x400a: addb %al, (%rdi)
# CHECK-NEXT: (lldb) disassemble --frame
# CHECK-NEXT: command-disassemble-process.exe`main:
# CHECK-NEXT: 0x4002 <+0>: jmp 0x4004 ; <+2>
# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)
# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)
# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)
# CHECK-NEXT: (lldb) disassemble --pc
# CHECK-NEXT: command-disassemble-process.exe`main:
# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)
# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)
# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)
# CHECK-NEXT: 0x400a: addb %al, (%rdi)
# CHECK-NEXT: (lldb) disassemble --address 0x4004
# CHECK-NEXT: command-disassemble-process.exe`main:
# CHECK-NEXT: 0x4002 <+0>: jmp 0x4004 ; <+2>
# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)
# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)
# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)
# CHECK-NEXT: (lldb) disassemble --count 7
# CHECK-NEXT: command-disassemble-process.exe`main:
# CHECK-NEXT: 0x4002 <+0>: jmp 0x4004 ; <+2>
# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)
# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)
# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)
# CHECK-NEXT: 0x400a: addb %al, (%rdi)
# CHECK-NEXT: 0x400c: addb %cl, (%rax)
# CHECK-NEXT: 0x400e: addb %cl, (%rcx)
# CHECK-NEXT: (lldb) disassemble --pc --count 7
# CHECK-NEXT: command-disassemble-process.exe`main:
# CHECK-NEXT: -> 0x4004 <+2>: addb %al, (%rdx)
# CHECK-NEXT: 0x4006 <+4>: addb %al, (%rbx)
# CHECK-NEXT: 0x4008 <+6>: addb %al, (%rsi)
# CHECK-NEXT: 0x400a: addb %al, (%rdi)
# CHECK-NEXT: 0x400c: addb %cl, (%rax)
# CHECK-NEXT: 0x400e: addb %cl, (%rcx)
# CHECK-NEXT: 0x4010: addb %cl, (%rdx)
# INVALID: error: Could not find function bounds for address 0xdead
# BIG: error: Not disassembling the current function because it is very large [0x0000000000004002-0x0000000000005f42). To disassemble specify an instruction count limit, start/stop addresses or use the --force option.
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x0000000000000000
AddressAlign: 0x0000000000001000
Content: 0000EB00000200030006000700080009000A000B000E000F00100011001200130016001700180019001A001B001E001F00200021002200230026002700280029002A002B002E002F
Size: 0x10000
- Name: .note.gnu.build-id
Type: SHT_NOTE
Flags: [ SHF_ALLOC ]
Address: 0x0000000000001000
AddressAlign: 0x0000000000001000
Content: 040000000800000003000000474E5500DEADBEEFBAADF00D
Symbols:
- Name: main
Type: STT_FUNC
Section: .text
Value: 0x0000000000000002
Size: [[MAIN_SIZE]]
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_X, PF_R ]
VAddr: 0x0000
Align: 0x1000
FirstSec: .text
LastSec: .text
- Type: PT_LOAD
Flags: [ PF_W, PF_R ]
VAddr: 0x1000
Align: 0x1000
FirstSec: .note.gnu.build-id
LastSec: .note.gnu.build-id
...
--- !minidump
Streams:
- Type: ModuleList
Modules:
- Base of Image: 0x0000000000004000
Size of Image: 0x00002000
Module Name: 'command-disassemble-process.yaml'
CodeView Record: 4C457042DEADBEEFBAADF00D
- 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
...