summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2016-02-10 12:10:58 +0000
committerTamas Berghammer <tberghammer@google.com>2016-02-10 12:10:58 +0000
commit5bfd4d00086e07d06e28f6a88ce1b07a3521ec3d (patch)
tree78d0aa4e42b02ea3c6bf32239534d86cd0e865cc /lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
parentdb6655fd902a9f012e26b63033001e52dbbc1db6 (diff)
downloadbcm5719-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.cpp9
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;
OpenPOWER on IntegriCloud