This revision was automatically updated to reflect the committed changes. Closed by commit rGc9881c7d99c6: Support looking up absolute symbols (authored by aprantl). Herald added a project: LLDB.
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D113445/new/ https://reviews.llvm.org/D113445 Files: lldb/source/Symbol/Symbol.cpp lldb/source/Symbol/Symtab.cpp lldb/test/Shell/SymbolFile/absolute-symbol.s Index: lldb/test/Shell/SymbolFile/absolute-symbol.s =================================================================== --- /dev/null +++ lldb/test/Shell/SymbolFile/absolute-symbol.s @@ -0,0 +1,7 @@ +# RUN: %clang %s -g -c -o %t.o +# RUN: %lldb -b -o 'target modules lookup -s absolute_symbol' %t.o | FileCheck %s +# CHECK: 1 symbols match 'absolute_symbol' +# CHECK: Address: 0x0000000012345678 (0x0000000012345678) +# CHECK: Summary: 0x0000000012345678 +.globl absolute_symbol +absolute_symbol = 0x12345678 Index: lldb/source/Symbol/Symtab.cpp =================================================================== --- lldb/source/Symbol/Symtab.cpp +++ lldb/source/Symbol/Symtab.cpp @@ -1100,6 +1100,7 @@ case eSymbolTypeCode: case eSymbolTypeResolver: case eSymbolTypeReExported: + case eSymbolTypeAbsolute: symbol_indexes.push_back(temp_symbol_indexes[i]); break; default: Index: lldb/source/Symbol/Symbol.cpp =================================================================== --- lldb/source/Symbol/Symbol.cpp +++ lldb/source/Symbol/Symbol.cpp @@ -115,7 +115,8 @@ } bool Symbol::ValueIsAddress() const { - return m_addr_range.GetBaseAddress().GetSection().get() != nullptr; + return m_addr_range.GetBaseAddress().GetSection().get() != nullptr || + m_type == eSymbolTypeAbsolute; } ConstString Symbol::GetDisplayName() const {
Index: lldb/test/Shell/SymbolFile/absolute-symbol.s =================================================================== --- /dev/null +++ lldb/test/Shell/SymbolFile/absolute-symbol.s @@ -0,0 +1,7 @@ +# RUN: %clang %s -g -c -o %t.o +# RUN: %lldb -b -o 'target modules lookup -s absolute_symbol' %t.o | FileCheck %s +# CHECK: 1 symbols match 'absolute_symbol' +# CHECK: Address: 0x0000000012345678 (0x0000000012345678) +# CHECK: Summary: 0x0000000012345678 +.globl absolute_symbol +absolute_symbol = 0x12345678 Index: lldb/source/Symbol/Symtab.cpp =================================================================== --- lldb/source/Symbol/Symtab.cpp +++ lldb/source/Symbol/Symtab.cpp @@ -1100,6 +1100,7 @@ case eSymbolTypeCode: case eSymbolTypeResolver: case eSymbolTypeReExported: + case eSymbolTypeAbsolute: symbol_indexes.push_back(temp_symbol_indexes[i]); break; default: Index: lldb/source/Symbol/Symbol.cpp =================================================================== --- lldb/source/Symbol/Symbol.cpp +++ lldb/source/Symbol/Symbol.cpp @@ -115,7 +115,8 @@ } bool Symbol::ValueIsAddress() const { - return m_addr_range.GetBaseAddress().GetSection().get() != nullptr; + return m_addr_range.GetBaseAddress().GetSection().get() != nullptr || + m_type == eSymbolTypeAbsolute; } ConstString Symbol::GetDisplayName() const {
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits