In http://reviews.llvm.org/D9754 I enabled the mangled symbol name lookup workaround used to find global and anonymous namespace symbols in linux binaries for all platforms, however we should still only check for these symbols when processing Linux or FreeBSD binaries where they are relevant. This patch makes this change.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
This codepath also fixes mangling issues with Hexagon binaries. Please add
|| (arch.GetTriple().GetMachine() == llvm::Triple::hexagon)
to the if, to pick up the fix for Hexagon.
You also might want to move
SymbolContextList temp_sc_list; FindFunctions (name, m_function_basename_index, include_inlines, temp_sc_list);
inside the if so extra code isn't run unecessarily.
I don't think it's a (Linux or FreeBSD) issue; I think it's a ((clang or gcc) and not Darwin) issue.
Comment Actions
- Check for hexagon machine.
- Added comment to fix object arch on Windows and detect global / anonymous namespace symbols there.
Comment Actions
zturner, I added a comment about Windows like you suggested.
Done.
You also might want to move
SymbolContextList temp_sc_list; FindFunctions (name, m_function_basename_index, include_inlines, temp_sc_list);inside the if so extra code isn't run unecessarily.
Done.
I don't think it's a (Linux or FreeBSD) issue; I think it's a ((clang or gcc) and not Darwin) issue.