[Lldb-commits] [lldb] r334076 - Revert "PDB support of function-level linking and splitted functions"
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Wed Jun 6 02:16:00 PDT 2018
Author: labath
Date: Wed Jun 6 02:16:00 2018
New Revision: 334076
URL: http://llvm.org/viewvc/llvm-project?rev=334076&view=rev
Log:
Revert "PDB support of function-level linking and splitted functions"
This reverts commit r334030 because it adds a broken test.
Removed:
lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.cpp
lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.exe
lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.pdb
lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.cpp
lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.exe
lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.pdb
Modified:
lldb/trunk/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
lldb/trunk/unittests/SymbolFile/PDB/CMakeLists.txt
lldb/trunk/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
Modified: lldb/trunk/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp?rev=334076&r1=334075&r2=334076&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp Wed Jun 6 02:16:00 2018
@@ -1571,9 +1571,6 @@ bool SymbolFilePDB::ParseCompileUnitLine
line_table->AppendLineEntryToSequence(
sequence.get(), prev_addr + prev_length, prev_line, 0,
prev_source_idx, false, false, false, false, true);
-
- line_table->InsertSequence(sequence.release());
- sequence.reset(line_table->CreateLineSequenceContainer());
}
if (ShouldAddLine(match_line, lno, length)) {
Modified: lldb/trunk/unittests/SymbolFile/PDB/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/SymbolFile/PDB/CMakeLists.txt?rev=334076&r1=334075&r2=334076&view=diff
==============================================================================
--- lldb/trunk/unittests/SymbolFile/PDB/CMakeLists.txt (original)
+++ lldb/trunk/unittests/SymbolFile/PDB/CMakeLists.txt Wed Jun 6 02:16:00 2018
@@ -17,10 +17,6 @@ add_lldb_unittest(SymbolFilePDBTests
set(test_inputs
test-pdb.exe
test-pdb.pdb
- test-pdb-function-level-linking.exe
- test-pdb-function-level-linking.pdb
- test-pdb-splitted-function.exe
- test-pdb-splitted-function.pdb
test-pdb-types.exe
test-pdb-types.pdb)
Removed: lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.cpp?rev=334075&view=auto
==============================================================================
--- lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.cpp (original)
+++ lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.cpp (removed)
@@ -1,17 +0,0 @@
-// Compile with "cl /c /ZI /sdl /EHsc /MTd /permissive-
-// test-pdb-function-level-linking.cpp"
-// Link with "link /debug:full test-pdb-function-level-linking.obj"
-
-#include <memory>
-#include <string>
-
-std::string foo()
-{
- return "Hello!";
-}
-
-int main()
-{
- auto x = foo();
- return 0;
-}
Removed: lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.exe
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.exe?rev=334075&view=auto
==============================================================================
(empty)
Removed: lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.pdb
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-function-level-linking.pdb?rev=334075&view=auto
==============================================================================
(empty)
Removed: lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.cpp?rev=334075&view=auto
==============================================================================
--- lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.cpp (original)
+++ lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.cpp (removed)
@@ -1,27 +0,0 @@
-// Compile with "cl /c /Zi /GL /O2 /EHsc /MTd test-pdb-splitted-function.cpp"
-// Link with "link /debug:full /LTCG /GENPROFILE
-// test-pdb-splitted-function.obj"
-// Run several times
-// Link with "link /debug:full /LTCG /USEPROFILE
-// test-pdb-splitted-function.obj"
-
-#include <cmath>
-#include <iostream>
-
-int main()
-{
- auto b = false;
- for (auto i = 1; i <= 1024; i++)
- {
- if (b)
- {
- std::cout << "Unreachable code" << std::endl;
- auto x = std::sin(i);
- return x;
- }
-
- b = (i % 2 + (i - 1) % 2) != 1;
- }
-
- return 0;
-}
Removed: lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.exe
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.exe?rev=334075&view=auto
==============================================================================
(empty)
Removed: lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.pdb
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/SymbolFile/PDB/Inputs/test-pdb-splitted-function.pdb?rev=334075&view=auto
==============================================================================
(empty)
Modified: lldb/trunk/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp?rev=334076&r1=334075&r2=334076&view=diff
==============================================================================
--- lldb/trunk/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp (original)
+++ lldb/trunk/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp Wed Jun 6 02:16:00 2018
@@ -56,10 +56,6 @@ public:
SymbolFilePDB::Initialize();
m_pdb_test_exe = GetInputFilePath("test-pdb.exe");
- m_function_level_linking_test_exe =
- GetInputFilePath("test-pdb-function-level-linking.exe");
- m_splitted_function_test_exe =
- GetInputFilePath("test-pdb-splitted-function.exe");
m_types_test_exe = GetInputFilePath("test-pdb-types.exe");
}
@@ -77,8 +73,6 @@ public:
protected:
std::string m_pdb_test_exe;
- std::string m_function_level_linking_test_exe;
- std::string m_splitted_function_test_exe;
std::string m_types_test_exe;
bool FileSpecMatchesAsBaseOrFull(const FileSpec &left,
@@ -360,56 +354,6 @@ TEST_F(SymbolFilePDBTests, TestLineTable
VerifyLineEntry(module, sc, header1, *lt, 9, 0x401090);
}
-void TestLineTableConsistency(llvm::StringRef exe_path, llvm::StringRef source_name)
-{
- // All line entries of compile unit's line table must be consistent
- // even if compiled sources are not continuous in the binary file.
- FileSpec fspec(exe_path, false);
- ArchSpec aspec("i686-pc-windows");
- lldb::ModuleSP module = std::make_shared<Module>(fspec, aspec);
- SymbolVendor *plugin = module->GetSymbolVendor();
- SymbolFile *symfile = plugin->GetSymbolFile();
- FileSpec source_file(source_name, false);
- uint32_t scope = lldb::eSymbolContextCompUnit | lldb::eSymbolContextLineEntry;
- SymbolContextList sc_list;
- uint32_t count =
- symfile->ResolveSymbolContext(source_file, 0, true, scope, sc_list);
- EXPECT_EQ(1u, count);
-
- SymbolContext sc;
- EXPECT_TRUE(sc_list.GetContextAtIndex(0, sc));
-
- LineTable *lt = sc.comp_unit->GetLineTable();
- EXPECT_NE(nullptr, lt);
-
- count = lt->GetSize();
- EXPECT_LT(0u, count);
-
- LineEntry le;
- EXPECT_TRUE(lt->GetLineEntryAtIndex(0, le));
- for (int i = 1; i < count; i++)
- {
- lldb::addr_t curr_end =
- le.range.GetBaseAddress().GetFileAddress() + le.range.GetByteSize();
-
- EXPECT_TRUE(lt->GetLineEntryAtIndex(i, le));
-
- EXPECT_LE(curr_end, le.range.GetBaseAddress().GetFileAddress());
- }
-}
-
-TEST_F(SymbolFilePDBTests, TestFunctionLevelLinking) {
- TestLineTableConsistency(
- m_function_level_linking_test_exe,
- "test-pdb-function-level-linking.cpp");
-}
-
-TEST_F(SymbolFilePDBTests, TestSplittedFunction) {
- TestLineTableConsistency(
- m_splitted_function_test_exe,
- "test-pdb-splitted-function.cpp");
-}
-
TEST_F(SymbolFilePDBTests, TestSimpleClassTypes) {
FileSpec fspec(m_types_test_exe.c_str(), false);
ArchSpec aspec("i686-pc-windows");
More information about the lldb-commits
mailing list