diff options
author | Tamas Berghammer <tberghammer@google.com> | 2016-02-10 12:10:58 +0000 |
---|---|---|
committer | Tamas Berghammer <tberghammer@google.com> | 2016-02-10 12:10:58 +0000 |
commit | 5bfd4d00086e07d06e28f6a88ce1b07a3521ec3d (patch) | |
tree | 78d0aa4e42b02ea3c6bf32239534d86cd0e865cc /lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp | |
parent | db6655fd902a9f012e26b63033001e52dbbc1db6 (diff) | |
download | bcm5719-llvm-5bfd4d00086e07d06e28f6a88ce1b07a3521ec3d.tar.gz bcm5719-llvm-5bfd4d00086e07d06e28f6a88ce1b07a3521ec3d.zip |
Revert "Improve the handling of missing elf symtab and missing symbol sizes"
This reverts commit 252dda67782f2cbf838e375bce21ed4191f6d9ce.
The commit caused several test failure on the OSX build bot.
llvm-svn: 260377
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp')
-rw-r--r-- | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp index 5491775db2f..c9f209e2c0f 100644 --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp @@ -4517,6 +4517,7 @@ ObjectFileMachO::ParseSymtab () if (function_starts_count > 0) { + char synthetic_function_symbol[PATH_MAX]; uint32_t num_synthetic_function_symbols = 0; for (i=0; i<function_starts_count; ++i) { @@ -4531,6 +4532,7 @@ ObjectFileMachO::ParseSymtab () num_syms = sym_idx + num_synthetic_function_symbols; sym = symtab->Resize (num_syms); } + uint32_t synthetic_function_symbol_idx = 0; for (i=0; i<function_starts_count; ++i) { const FunctionStarts::Entry *func_start_entry = function_starts.GetEntryAtIndex (i); @@ -4565,8 +4567,13 @@ ObjectFileMachO::ParseSymtab () { symbol_byte_size = section_end_file_addr - symbol_file_addr; } + snprintf (synthetic_function_symbol, + sizeof(synthetic_function_symbol), + "___lldb_unnamed_function%u$$%s", + ++synthetic_function_symbol_idx, + module_sp->GetFileSpec().GetFilename().GetCString()); sym[sym_idx].SetID (synthetic_sym_id++); - sym[sym_idx].GetMangled().SetDemangledName(GetNextSyntheticSymbolName()); + sym[sym_idx].GetMangled().SetDemangledName(ConstString(synthetic_function_symbol)); sym[sym_idx].SetType (eSymbolTypeCode); sym[sym_idx].SetIsSynthetic (true); sym[sym_idx].GetAddressRef() = symbol_addr; |