aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/test/Shell')
-rw-r--r--lldb/test/Shell/Commands/command-image-lookup.yaml810
-rw-r--r--lldb/test/Shell/Error/assert.test2
-rw-r--r--lldb/test/Shell/ObjectFile/PDB/object.test2
-rw-r--r--lldb/test/Shell/Reproducer/Functionalities/TestImageList.test1
-rw-r--r--lldb/test/Shell/Reproducer/TestCaptureEnvOverride.test17
-rw-r--r--lldb/test/Shell/Reproducer/lit.local.cfg4
-rw-r--r--lldb/test/Shell/Subprocess/Inputs/fork.cpp50
-rw-r--r--lldb/test/Shell/Subprocess/clone-follow-parent-wp.test14
-rw-r--r--lldb/test/Shell/Subprocess/clone-follow-parent.test12
-rw-r--r--lldb/test/Shell/Subprocess/fork-follow-parent-wp.test13
-rw-r--r--lldb/test/Shell/Subprocess/fork-follow-parent.test11
-rw-r--r--lldb/test/Shell/Subprocess/vfork-follow-parent-wp.test14
-rw-r--r--lldb/test/Shell/Subprocess/vfork-follow-parent.test11
-rw-r--r--lldb/test/Shell/SymbolFile/DWARF/dwarf5-debug_line-file-index.s4
-rw-r--r--lldb/test/Shell/lit.cfg.py1
15 files changed, 939 insertions, 27 deletions
diff --git a/lldb/test/Shell/Commands/command-image-lookup.yaml b/lldb/test/Shell/Commands/command-image-lookup.yaml
new file mode 100644
index 000000000000..cf7be930517e
--- /dev/null
+++ b/lldb/test/Shell/Commands/command-image-lookup.yaml
@@ -0,0 +1,810 @@
+# RUN: yaml2obj %s -o %T/a.out
+# RUN: %lldb %T/a.out -o "image lookup --verbose --address 0x0000000100003fa1" -o exit | FileCheck %s --check-prefix=NOINLINE
+# RUN: %lldb %T/a.out -o "image lookup --verbose --address 0x0000000100003fa2" -o exit | FileCheck %s --check-prefix=INLINE_1
+# RUN: %lldb %T/a.out -o "image lookup --verbose --address 0x0000000100003fa8" -o exit | FileCheck %s --check-prefix=INLINE_2
+
+# NOINLINE: Summary: a.out`main + 33 at main.cpp:10
+# NOINLINE-NEXT: Module: file =
+
+# INLINE_1: Summary: a.out`main + 34 [inlined] squares(int, int) at main.cpp:7:16
+# INLINE_1-NEXT: a.out`main + 34 at main.cpp:11
+# INLINE_1-NEXT: Module: file =
+
+# INLINE_2: Summary: a.out`main + 40 [inlined] square(int) at main.cpp:3:9
+# INLINE_2-NEXT: a.out`main + 40 [inlined] squares(int, int) + 6 at main.cpp:7
+# INLINE_2-NEXT: a.out`main + 34 at main.cpp:11
+# INLINE_2-NEXT: Module: file =
+
+
+--- !mach-o
+FileHeader:
+ magic: 0xFEEDFACF
+ cputype: 0x1000007
+ cpusubtype: 0x3
+ filetype: 0xA
+ ncmds: 7
+ sizeofcmds: 1400
+ flags: 0x0
+ reserved: 0x0
+LoadCommands:
+ - cmd: LC_UUID
+ cmdsize: 24
+ uuid: E476BFB9-CC5C-34BC-B968-BF996B298060
+ - cmd: LC_BUILD_VERSION
+ cmdsize: 24
+ platform: 1
+ minos: 659200
+ sdk: 721152
+ ntools: 0
+ - cmd: LC_SYMTAB
+ cmdsize: 24
+ symoff: 4096
+ nsyms: 4
+ stroff: 4160
+ strsize: 54
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: __PAGEZERO
+ vmaddr: 0
+ vmsize: 4294967296
+ fileoff: 0
+ filesize: 0
+ maxprot: 0
+ initprot: 0
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 232
+ segname: __TEXT
+ vmaddr: 4294967296
+ vmsize: 16384
+ fileoff: 0
+ filesize: 0
+ maxprot: 5
+ initprot: 5
+ nsects: 2
+ flags: 0
+ Sections:
+ - sectname: __text
+ segname: __TEXT
+ addr: 0x100003F50
+ size: 100
+ offset: 0x0
+ align: 4
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x80000400
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: CFFAEDFE07000001030000000A000000070000007805000000000000000000001B00000018000000E476BFB9CC5C34BCB968BF996B298060320000001800000001000000000F0A0000010B00000000000200000018000000001000000400000040100000
+ - sectname: __unwind_info
+ segname: __TEXT
+ addr: 0x100003FB4
+ size: 72
+ offset: 0x0
+ align: 2
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: CFFAEDFE07000001030000000A000000070000007805000000000000000000001B00000018000000E476BFB9CC5C34BCB968BF996B298060320000001800000001000000000F0A00
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: __LINKEDIT
+ vmaddr: 4294983680
+ vmsize: 4096
+ fileoff: 4096
+ filesize: 118
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 952
+ segname: __DWARF
+ vmaddr: 4294987776
+ vmsize: 4096
+ fileoff: 8192
+ filesize: 1530
+ maxprot: 7
+ initprot: 3
+ nsects: 11
+ flags: 0
+ Sections:
+ - sectname: __debug_line
+ segname: __DWARF
+ addr: 0x100005000
+ size: 130
+ offset: 0x2000
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ - sectname: __debug_pubnames
+ segname: __DWARF
+ addr: 0x100005082
+ size: 82
+ offset: 0x2082
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ - sectname: __debug_pubtypes
+ segname: __DWARF
+ addr: 0x1000050D4
+ size: 35
+ offset: 0x20D4
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ - sectname: __debug_aranges
+ segname: __DWARF
+ addr: 0x1000050F7
+ size: 64
+ offset: 0x20F7
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ - sectname: __debug_info
+ segname: __DWARF
+ addr: 0x100005137
+ size: 379
+ offset: 0x2137
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ - sectname: __debug_abbrev
+ segname: __DWARF
+ addr: 0x1000052B2
+ size: 173
+ offset: 0x22B2
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ - sectname: __debug_str
+ segname: __DWARF
+ addr: 0x10000535F
+ size: 285
+ offset: 0x235F
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ - sectname: __apple_names
+ segname: __DWARF
+ addr: 0x10000547C
+ size: 196
+ offset: 0x247C
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: 485341480100000005000000050000000C0000000000000001000000010006000000000001000000FFFFFFFF04000000FFFFFFFF4B79AFF92EECB8236A7F9A7C492D3CA816EA5E1C5C000000700000008800000098000000AC000000F000000002000000710000001C01000000000000D800000003000000320000009400000040010000000000000701000001000000D900000000000000FD00000002000000710000001C01000000000000E30000000300000032000000940000004001000000000000
+ - sectname: __apple_namespac
+ segname: __DWARF
+ addr: 0x100005540
+ size: 36
+ offset: 0x2540
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF
+ - sectname: __apple_types
+ segname: __DWARF
+ addr: 0x100005564
+ size: 114
+ offset: 0x2564
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: 48534148010000000200000002000000180000000000000004000000010006000300050005000B000600060000000000010000003080880B6320957C440000005B000000EC000000010000006A000000240000A4283A0C0000000018010000010000006E01000024000057D77B9300000000
+ - sectname: __apple_objc
+ segname: __DWARF
+ addr: 0x1000055D6
+ size: 36
+ offset: 0x25D6
+ align: 0
+ reloff: 0x0
+ nreloc: 0
+ flags: 0x0
+ reserved1: 0x0
+ reserved2: 0x0
+ reserved3: 0x0
+ content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF
+LinkEditData:
+ NameList:
+ - n_strx: 2
+ n_type: 0xF
+ n_sect: 1
+ n_desc: 0
+ n_value: 4294983504
+ - n_strx: 14
+ n_type: 0xF
+ n_sect: 1
+ n_desc: 0
+ n_value: 4294983520
+ - n_strx: 28
+ n_type: 0xF
+ n_sect: 1
+ n_desc: 16
+ n_value: 4294967296
+ - n_strx: 48
+ n_type: 0xF
+ n_sect: 1
+ n_desc: 0
+ n_value: 4294983552
+ StringTable:
+ - ''
+ - ''
+ - __Z6squarei
+ - __Z7squaresii
+ - __mh_execute_header
+ - _main
+DWARF:
+ debug_str:
+ - ''
+ - 'Apple clang version 12.0.0 (clang-1200.0.32.29)'
+ - '../main.cpp'
+ - '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk'
+ - MacOSX11.1.sdk
+ - '/Users/gclayton/Documents/src/args/build'
+ - _Z6squarei
+ - square
+ - x
+ - int
+ - _Z7squaresii
+ - squares
+ - y
+ - main
+ - argc
+ - argv
+ - s
+ - char
+ debug_abbrev:
+ - ID: 0
+ Table:
+ - Code: 0x1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_LLVM_sysroot
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_APPLE_sdk
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x2
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_abstract_origin
+ Form: DW_FORM_ref_addr
+ - Code: 0x3
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_abstract_origin
+ Form: DW_FORM_ref_addr
+ - Code: 0x4
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_linkage_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_inline
+ Form: DW_FORM_data1
+ - Code: 0x5
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0x6
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x7
+ Tag: DW_TAG_inlined_subroutine
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_abstract_origin
+ Form: DW_FORM_ref_addr
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_call_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_call_column
+ Form: DW_FORM_data1
+ - Code: 0x8
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x9
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0xA
+ Tag: DW_TAG_variable
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0xB
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0xC
+ Tag: DW_TAG_const_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ debug_aranges:
+ - Length: 0x3C
+ Version: 2
+ CuOffset: 0x0
+ AddressSize: 0x8
+ Descriptors:
+ - Address: 0x100003F50
+ Length: 0x29
+ - Address: 0x100003F80
+ Length: 0x34
+ debug_pubnames:
+ Length: 0x4E
+ Version: 2
+ UnitOffset: 0
+ UnitSize: 379
+ Entries:
+ - DieOffset: 0x32
+ Name: _Z6squarei
+ - DieOffset: 0x32
+ Name: square
+ - DieOffset: 0x71
+ Name: _Z7squaresii
+ - DieOffset: 0x71
+ Name: squares
+ - DieOffset: 0xD9
+ Name: main
+ debug_pubtypes:
+ Length: 0x1F
+ Version: 2
+ UnitOffset: 0
+ UnitSize: 379
+ Entries:
+ - DieOffset: 0x6A
+ Name: int
+ - DieOffset: 0x16E
+ Name: char
+ debug_info:
+ - Length: 0x177
+ Version: 4
+ AbbrevTableID: 0
+ AbbrOffset: 0x0
+ AddrSize: 8
+ Entries:
+ - AbbrCode: 0x1
+ Values:
+ - Value: 0x1
+ - Value: 0x4
+ - Value: 0x31
+ - Value: 0x3D
+ - Value: 0xA0
+ - Value: 0x0
+ - Value: 0xAF
+ - Value: 0x100003F50
+ - Value: 0x64
+ - AbbrCode: 0x2
+ Values:
+ - Value: 0x100003F50
+ - Value: 0x10
+ - Value: 0x1
+ BlockData: [ 0x56 ]
+ - Value: 0x4E
+ - AbbrCode: 0x3
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x7C ]
+ - Value: 0x5E
+ - AbbrCode: 0x0
+ - AbbrCode: 0x4
+ Values:
+ - Value: 0xD8
+ - Value: 0xE3
+ - Value: 0x1
+ - Value: 0x2
+ - Value: 0x6A
+ - Value: 0x1
+ - Value: 0x1
+ - AbbrCode: 0x5
+ Values:
+ - Value: 0xEA
+ - Value: 0x1
+ - Value: 0x2
+ - Value: 0x6A
+ - AbbrCode: 0x0
+ - AbbrCode: 0x6
+ Values:
+ - Value: 0xEC
+ - Value: 0x5
+ - Value: 0x4
+ - AbbrCode: 0x2
+ Values:
+ - Value: 0x100003F60
+ - Value: 0x19
+ - Value: 0x1
+ BlockData: [ 0x56 ]
+ - Value: 0xB2
+ - AbbrCode: 0x3
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x78 ]
+ - Value: 0xC2
+ - AbbrCode: 0x3
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x74 ]
+ - Value: 0xCD
+ - AbbrCode: 0x7
+ Values:
+ - Value: 0x4E
+ - Value: 0x100003F70
+ - Value: 0x7
+ - Value: 0x1
+ - Value: 0x7
+ - Value: 0x9
+ - AbbrCode: 0x3
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x7C ]
+ - Value: 0x5E
+ - AbbrCode: 0x0
+ - AbbrCode: 0x0
+ - AbbrCode: 0x4
+ Values:
+ - Value: 0xF0
+ - Value: 0xFD
+ - Value: 0x1
+ - Value: 0x6
+ - Value: 0x6A
+ - Value: 0x1
+ - Value: 0x1
+ - AbbrCode: 0x5
+ Values:
+ - Value: 0xEA
+ - Value: 0x1
+ - Value: 0x6
+ - Value: 0x6A
+ - AbbrCode: 0x5
+ Values:
+ - Value: 0x105
+ - Value: 0x1
+ - Value: 0x6
+ - Value: 0x6A
+ - AbbrCode: 0x0
+ - AbbrCode: 0x8
+ Values:
+ - Value: 0x100003F80
+ - Value: 0x34
+ - Value: 0x1
+ BlockData: [ 0x56 ]
+ - Value: 0x107
+ - Value: 0x1
+ - Value: 0xA
+ - Value: 0x6A
+ - Value: 0x1
+ - AbbrCode: 0x9
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x6C ]
+ - Value: 0x10C
+ - Value: 0x1
+ - Value: 0xA
+ - Value: 0x6A
+ - AbbrCode: 0x9
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x60 ]
+ - Value: 0x111
+ - Value: 0x1
+ - Value: 0xA
+ - Value: 0x15F
+ - AbbrCode: 0xA
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x5C ]
+ - Value: 0x116
+ - Value: 0x1
+ - Value: 0xB
+ - Value: 0x175
+ - AbbrCode: 0x7
+ Values:
+ - Value: 0xB2
+ - Value: 0x100003FA2
+ - Value: 0xD
+ - Value: 0x1
+ - Value: 0xB
+ - Value: 0x10
+ - AbbrCode: 0x3
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x78 ]
+ - Value: 0xC2
+ - AbbrCode: 0x3
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x74 ]
+ - Value: 0xCD
+ - AbbrCode: 0x7
+ Values:
+ - Value: 0x4E
+ - Value: 0x100003FA8
+ - Value: 0x7
+ - Value: 0x1
+ - Value: 0x7
+ - Value: 0x9
+ - AbbrCode: 0x3
+ Values:
+ - Value: 0x2
+ BlockData: [ 0x91, 0x7C ]
+ - Value: 0x5E
+ - AbbrCode: 0x0
+ - AbbrCode: 0x0
+ - AbbrCode: 0x0
+ - AbbrCode: 0xB
+ Values:
+ - Value: 0x164
+ - AbbrCode: 0xB
+ Values:
+ - Value: 0x169
+ - AbbrCode: 0xC
+ Values:
+ - Value: 0x16E
+ - AbbrCode: 0x6
+ Values:
+ - Value: 0x118
+ - Value: 0x6
+ - Value: 0x1
+ - AbbrCode: 0xC
+ Values:
+ - Value: 0x6A
+ - AbbrCode: 0x0
+ debug_line:
+ - Length: 126
+ Version: 4
+ PrologueLength: 35
+ MinInstLength: 1
+ MaxOpsPerInst: 1
+ DefaultIsStmt: 1
+ LineBase: 251
+ LineRange: 14
+ OpcodeBase: 13
+ StandardOpcodeLengths: [ 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 ]
+ IncludeDirs:
+ - ..
+ Files:
+ - Name: main.cpp
+ DirIdx: 1
+ ModTime: 0
+ Length: 0
+ Opcodes:
+ - Opcode: DW_LNS_extended_op
+ ExtLen: 9
+ SubOpcode: DW_LNE_set_address
+ Data: 4294983504
+ - Opcode: 0x13
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 9
+ - Opcode: DW_LNS_set_prologue_end
+ Data: 0
+ - Opcode: 0x75
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 10
+ - Opcode: DW_LNS_negate_stmt
+ Data: 0
+ - Opcode: 0x3C
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 2
+ - Opcode: 0x4A
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 0
+ - Opcode: DW_LNS_negate_stmt
+ Data: 0
+ - Opcode: 0x31
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 16
+ - Opcode: DW_LNS_set_prologue_end
+ Data: 0
+ - Opcode: 0x9F
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 9
+ - Opcode: 0x62
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 10
+ - Opcode: DW_LNS_negate_stmt
+ Data: 0
+ - Opcode: 0x3C
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 2
+ - Opcode: DW_LNS_negate_stmt
+ Data: 0
+ - Opcode: 0x4E
+ Data: 0
+ - Opcode: DW_LNS_advance_pc
+ Data: 2
+ - Opcode: DW_LNS_extended_op
+ ExtLen: 1
+ SubOpcode: DW_LNE_end_sequence
+ Data: 0
+ - Opcode: DW_LNS_extended_op
+ ExtLen: 9
+ SubOpcode: DW_LNE_set_address
+ Data: 4294983552
+ - Opcode: DW_LNS_advance_line
+ SData: 9
+ Data: 0
+ - Opcode: DW_LNS_copy
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 16
+ - Opcode: DW_LNS_set_prologue_end
+ Data: 0
+ - Opcode: DW_LNS_const_add_pc
+ Data: 0
+ - Opcode: 0xFD
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 9
+ - Opcode: 0x62
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 10
+ - Opcode: DW_LNS_negate_stmt
+ Data: 0
+ - Opcode: 0x3C
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 12
+ - Opcode: DW_LNS_negate_stmt
+ Data: 0
+ - Opcode: 0x52
+ Data: 0
+ - Opcode: DW_LNS_set_column
+ Data: 2
+ - Opcode: 0x3D
+ Data: 0
+ - Opcode: DW_LNS_advance_pc
+ Data: 2
+ - Opcode: DW_LNS_extended_op
+ ExtLen: 1
+ SubOpcode: DW_LNE_end_sequence
+ Data: 0
+...
diff --git a/lldb/test/Shell/Error/assert.test b/lldb/test/Shell/Error/assert.test
index 92ccd134b92d..3678b45c0ad7 100644
--- a/lldb/test/Shell/Error/assert.test
+++ b/lldb/test/Shell/Error/assert.test
@@ -1,4 +1,4 @@
# REQUIRES: asserts
# RUN: not --crash lldb-test assert > %t.error 2>&1
# RUN: cat %t.error | FileCheck %s
-# CHECK: "lldb_assert failed"
+# CHECK: {{lldb_assert failed|lldb-test assert}}
diff --git a/lldb/test/Shell/ObjectFile/PDB/object.test b/lldb/test/Shell/ObjectFile/PDB/object.test
index 304872ac3016..35373d52a393 100644
--- a/lldb/test/Shell/ObjectFile/PDB/object.test
+++ b/lldb/test/Shell/ObjectFile/PDB/object.test
@@ -3,7 +3,7 @@
# CHECK: Plugin name: pdb
# CHECK: Architecture: x86_64-pc-windows-msvc
-# CHECK: UUID: 3F58AF61-A829-6C7A-4C4C-44205044422E-00000001
+# CHECK: UUID: 61AF583F-29A8-7A6C-4C4C-44205044422E-00000001
# CHECK: Executable: false
# CHECK: Stripped: false
# CHECK: Type: debug info
diff --git a/lldb/test/Shell/Reproducer/Functionalities/TestImageList.test b/lldb/test/Shell/Reproducer/Functionalities/TestImageList.test
index ec8b36ea9576..e630e4666d08 100644
--- a/lldb/test/Shell/Reproducer/Functionalities/TestImageList.test
+++ b/lldb/test/Shell/Reproducer/Functionalities/TestImageList.test
@@ -6,6 +6,7 @@
# RUN: %clang_host %S/Inputs/stepping.c -g -o %t.out
# RUN: rm -rf %t.txt
+# RUN: rm -rf %t.repro
# RUN: echo "CAPTURE" >> %t.txt
# RUN: %lldb -x -b --capture --capture-path %t.repro \
diff --git a/lldb/test/Shell/Reproducer/TestCaptureEnvOverride.test b/lldb/test/Shell/Reproducer/TestCaptureEnvOverride.test
deleted file mode 100644
index 122a05980aa7..000000000000
--- a/lldb/test/Shell/Reproducer/TestCaptureEnvOverride.test
+++ /dev/null
@@ -1,17 +0,0 @@
-# This tests the LLDB_CAPTURE_REPRODUCER override.
-
-# RUN: %lldb -b -o 'reproducer status' --capture --capture-path %t.repro /bin/ls | FileCheck %s --check-prefix CAPTURE
-# RUN: %lldb -b -o 'reproducer status' --capture | FileCheck %s --check-prefix CAPTURE
-
-# RUN: LLDB_CAPTURE_REPRODUCER=1 %lldb -b -o 'reproducer status' | FileCheck %s --check-prefix CAPTURE
-# RUN: LLDB_CAPTURE_REPRODUCER=ON %lldb -b -o 'reproducer status' | FileCheck %s --check-prefix CAPTURE
-# RUN: LLDB_CAPTURE_REPRODUCER=on %lldb -b -o 'reproducer status' | FileCheck %s --check-prefix CAPTURE
-
-# RUN: LLDB_CAPTURE_REPRODUCER=0 %lldb -b -o 'reproducer status' --capture --capture-path %t.repro | FileCheck %s --check-prefix OFF
-# RUN: LLDB_CAPTURE_REPRODUCER=0 %lldb -b -o 'reproducer status' --capture | FileCheck %s --check-prefix OFF
-
-# RUN: LLDB_CAPTURE_REPRODUCER=bogus %lldb -b -o 'reproducer status' --capture | FileCheck %s --check-prefix CAPTURE
-# RUN: LLDB_CAPTURE_REPRODUCER=bogus %lldb -b -o 'reproducer status' | FileCheck %s --check-prefix OFF
-
-# CAPTURE: Reproducer is in capture mode.
-# OFF: Reproducer is off.
diff --git a/lldb/test/Shell/Reproducer/lit.local.cfg b/lldb/test/Shell/Reproducer/lit.local.cfg
index 30f97f28279d..9de095f189f5 100644
--- a/lldb/test/Shell/Reproducer/lit.local.cfg
+++ b/lldb/test/Shell/Reproducer/lit.local.cfg
@@ -2,10 +2,6 @@
if 'LLVM_DISABLE_CRASH_REPORT' in config.environment:
del config.environment['LLVM_DISABLE_CRASH_REPORT']
-# Unset the always capture environment override.
-if 'LLDB_CAPTURE_REPRODUCER' in config.environment:
- del config.environment['LLDB_CAPTURE_REPRODUCER']
-
if 'system-windows' in config.available_features:
config.unsupported = True
diff --git a/lldb/test/Shell/Subprocess/Inputs/fork.cpp b/lldb/test/Shell/Subprocess/Inputs/fork.cpp
new file mode 100644
index 000000000000..44242934bd3e
--- /dev/null
+++ b/lldb/test/Shell/Subprocess/Inputs/fork.cpp
@@ -0,0 +1,50 @@
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <assert.h>
+#if defined(TEST_CLONE)
+#include <sched.h>
+#endif
+#include <stdint.h>
+#include <stdio.h>
+#include <unistd.h>
+
+int g_val = 0;
+
+void parent_func() {
+ g_val = 1;
+ printf("function run in parent\n");
+}
+
+int child_func(void *unused) {
+ // we need to avoid memory modifications for vfork(), yet we want
+ // to be able to test watchpoints, so do the next best thing
+ // and restore the original value
+ g_val = 2;
+ g_val = 0;
+ return 0;
+}
+
+int main() {
+ alignas(uintmax_t) char stack[4096];
+
+#if defined(TEST_CLONE)
+ pid_t pid = clone(child_func, &stack[sizeof(stack)], 0, NULL);
+#elif defined(TEST_FORK)
+ pid_t pid = TEST_FORK();
+ if (pid == 0)
+ _exit(child_func(NULL));
+#endif
+ assert(pid != -1);
+
+ parent_func();
+ int status, wait_flags = 0;
+#if defined(TEST_CLONE)
+ wait_flags = __WALL;
+#endif
+ pid_t waited = waitpid(pid, &status, wait_flags);
+ assert(waited == pid);
+ assert(WIFEXITED(status));
+ printf("child exited: %d\n", WEXITSTATUS(status));
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Subprocess/clone-follow-parent-wp.test b/lldb/test/Shell/Subprocess/clone-follow-parent-wp.test
new file mode 100644
index 000000000000..67d94af3ca10
--- /dev/null
+++ b/lldb/test/Shell/Subprocess/clone-follow-parent-wp.test
@@ -0,0 +1,14 @@
+# REQUIRES: native && (system-linux || system-netbsd) && dbregs-set
+# clone() tests fails on arm64 Linux, PR #49899
+# UNSUPPORTED: system-linux && target-aarch64
+# RUN: %clangxx_host -g %p/Inputs/fork.cpp -DTEST_CLONE -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch -s
+watchpoint set variable -w write g_val
+# CHECK: Watchpoint created:
+continue
+# CHECK-NOT: function run in parent
+# CHECK: stop reason = watchpoint
+continue
+# CHECK: function run in parent
+# CHECK: child exited: 0
diff --git a/lldb/test/Shell/Subprocess/clone-follow-parent.test b/lldb/test/Shell/Subprocess/clone-follow-parent.test
new file mode 100644
index 000000000000..3d89279bbb29
--- /dev/null
+++ b/lldb/test/Shell/Subprocess/clone-follow-parent.test
@@ -0,0 +1,12 @@
+# REQUIRES: native && (system-linux || system-netbsd)
+# clone() tests fails on arm64 Linux, PR #49899
+# UNSUPPORTED: system-linux && target-aarch64
+# RUN: %clangxx_host %p/Inputs/fork.cpp -DTEST_CLONE -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+b parent_func
+process launch
+# CHECK-NOT: function run in parent
+# CHECK: stop reason = breakpoint
+continue
+# CHECK: function run in parent
+# CHECK: child exited: 0
diff --git a/lldb/test/Shell/Subprocess/fork-follow-parent-wp.test b/lldb/test/Shell/Subprocess/fork-follow-parent-wp.test
new file mode 100644
index 000000000000..cde5b41f228b
--- /dev/null
+++ b/lldb/test/Shell/Subprocess/fork-follow-parent-wp.test
@@ -0,0 +1,13 @@
+# REQUIRES: native && dbregs-set
+# UNSUPPORTED: system-windows
+# RUN: %clangxx_host -g %p/Inputs/fork.cpp -DTEST_FORK=fork -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch -s
+watchpoint set variable -w write g_val
+# CHECK: Watchpoint created:
+continue
+# CHECK-NOT: function run in parent
+# CHECK: stop reason = watchpoint
+continue
+# CHECK: function run in parent
+# CHECK: child exited: 0
diff --git a/lldb/test/Shell/Subprocess/fork-follow-parent.test b/lldb/test/Shell/Subprocess/fork-follow-parent.test
new file mode 100644
index 000000000000..1ffc2cbc1f99
--- /dev/null
+++ b/lldb/test/Shell/Subprocess/fork-follow-parent.test
@@ -0,0 +1,11 @@
+# REQUIRES: native
+# UNSUPPORTED: system-windows
+# RUN: %clangxx_host %p/Inputs/fork.cpp -DTEST_FORK=fork -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+b parent_func
+process launch
+# CHECK-NOT: function run in parent
+# CHECK: stop reason = breakpoint
+continue
+# CHECK: function run in parent
+# CHECK: child exited: 0
diff --git a/lldb/test/Shell/Subprocess/vfork-follow-parent-wp.test b/lldb/test/Shell/Subprocess/vfork-follow-parent-wp.test
new file mode 100644
index 000000000000..8c74e28dbc19
--- /dev/null
+++ b/lldb/test/Shell/Subprocess/vfork-follow-parent-wp.test
@@ -0,0 +1,14 @@
+# REQUIRES: native && dbregs-set
+# UNSUPPORTED: system-windows
+# UNSUPPORTED: system-darwin
+# RUN: %clangxx_host -g %p/Inputs/fork.cpp -DTEST_FORK=vfork -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch -s
+watchpoint set variable -w write g_val
+# CHECK: Watchpoint created:
+continue
+# CHECK-NOT: function run in parent
+# CHECK: stop reason = watchpoint
+continue
+# CHECK: function run in parent
+# CHECK: child exited: 0
diff --git a/lldb/test/Shell/Subprocess/vfork-follow-parent.test b/lldb/test/Shell/Subprocess/vfork-follow-parent.test
new file mode 100644
index 000000000000..6d9850a706e6
--- /dev/null
+++ b/lldb/test/Shell/Subprocess/vfork-follow-parent.test
@@ -0,0 +1,11 @@
+# REQUIRES: native
+# UNSUPPORTED: system-windows
+# RUN: %clangxx_host %p/Inputs/fork.cpp -DTEST_FORK=vfork -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+b parent_func
+process launch
+# CHECK-NOT: function run in parent
+# CHECK: stop reason = breakpoint
+continue
+# CHECK: function run in parent
+# CHECK: child exited: 0
diff --git a/lldb/test/Shell/SymbolFile/DWARF/dwarf5-debug_line-file-index.s b/lldb/test/Shell/SymbolFile/DWARF/dwarf5-debug_line-file-index.s
index 7bddd3bbbd20..54d07df10431 100644
--- a/lldb/test/Shell/SymbolFile/DWARF/dwarf5-debug_line-file-index.s
+++ b/lldb/test/Shell/SymbolFile/DWARF/dwarf5-debug_line-file-index.s
@@ -1,7 +1,5 @@
# Test handling of DWARF5 file index 0.
# REQUIRES: x86
-# XFAIL: target-arm && linux-gnu
-# XFAIL: system-windows
# RUN: llvm-mc -filetype=obj -o %t -triple x86_64-pc-linux %s
# RUN: %lldb %t -o "image lookup -f hello.c -l 1" \
@@ -19,7 +17,7 @@
.section .debug_abbrev,"",@progbits
.byte 1 # Abbreviation Code
.byte 17 # DW_TAG_compile_unit
- .byte 1 # DW_CHILDREN_no
+ .byte 0 # DW_CHILDREN_no
.byte 37 # DW_AT_producer
.byte 37 # DW_FORM_strx1
.byte 19 # DW_AT_language
diff --git a/lldb/test/Shell/lit.cfg.py b/lldb/test/Shell/lit.cfg.py
index c4730b284b23..964efc8c3505 100644
--- a/lldb/test/Shell/lit.cfg.py
+++ b/lldb/test/Shell/lit.cfg.py
@@ -42,7 +42,6 @@ config.test_exec_root = os.path.join(config.lldb_obj_root, 'test', 'Shell')
llvm_config.with_system_environment([
'FREEBSD_LEGACY_PLUGIN',
'HOME',
- 'LLDB_CAPTURE_REPRODUCER',
'TEMP',
'TMP',
'XDG_CACHE_HOME',