diff --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp --- a/lldb/source/Commands/CommandObjectTarget.cpp +++ b/lldb/source/Commands/CommandObjectTarget.cpp @@ -1546,6 +1546,7 @@ DumpAddress( interpreter.GetExecutionContext().GetBestExecutionContextScope(), symbol->GetAddressRef(), verbose, all_ranges, strm); + strm.EOL(); } else { strm.IndentMore(); strm.Indent(" Value: "); diff --git a/lldb/test/Shell/Commands/Inputs/symbols.yaml b/lldb/test/Shell/Commands/Inputs/symbols.yaml new file mode 100644 --- /dev/null +++ b/lldb/test/Shell/Commands/Inputs/symbols.yaml @@ -0,0 +1,48 @@ +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_AARCH64 + SectionHeaderStringTable: .strtab +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x4 + - Type: SectionHeaderTable + Sections: + - Name: .text + - Name: .strtab + - Name: .symtab +Symbols: + - Name: _Z8someFunciii + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Size: 0x1C + - Name: _Z8someFuncci + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x1C + Size: 0x18 + - Name: _Z13someOtherFuncv + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x34 + Size: 0x4 + - Name: _Z13someOtherFuncd + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x38 + Size: 0x10 + - Name: _Z18ignoreThisFunctionv + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x48 + Size: 0x8 +... diff --git a/lldb/test/Shell/Commands/command-target-modules-lookup.test b/lldb/test/Shell/Commands/command-target-modules-lookup.test new file mode 100644 --- /dev/null +++ b/lldb/test/Shell/Commands/command-target-modules-lookup.test @@ -0,0 +1,13 @@ +# RUN: yaml2obj %S/Inputs/symbols.yaml -o %t + +# RUN: %lldb %t -b -o "target modules lookup -A -r -s some" | FileCheck %s -DMODULE=%basename_t.tmp +# CHECK: 4 symbols match the regular expression 'some' in {{.*}}[[MODULE]]: +# CHECK-NEXT: Address: [[MODULE]][0x0000000000000000] ([[MODULE]]..text + 0) +# CHECK-NEXT: Summary: [[MODULE]]`someFunc(int, int, int) +# CHECK-NEXT: Address: [[MODULE]][0x000000000000001c] ([[MODULE]]..text + 28) +# CHECK-NEXT: Summary: [[MODULE]]`someFunc(char, int) +# CHECK-NEXT: Address: [[MODULE]][0x0000000000000034] ([[MODULE]]..text + 52) +# CHECK-NEXT: Summary: [[MODULE]]`someOtherFunc() +# CHECK-NEXT: Address: [[MODULE]][0x0000000000000038] ([[MODULE]]..text + 56) +# CHECK-NEXT: Summary: [[MODULE]]`someOtherFunc(double) +# CHECK-NOT: ignoreThisFunction