[Lldb-commits] [lldb] r274500 - Ignore oatdata and oatexec symbols more widely
Tamas Berghammer via lldb-commits
lldb-commits at lists.llvm.org
Mon Jul 4 06:31:57 PDT 2016
Author: tberghammer
Date: Mon Jul 4 08:31:57 2016
New Revision: 274500
URL: http://llvm.org/viewvc/llvm-project?rev=274500&view=rev
Log:
Ignore oatdata and oatexec symbols more widely
These are artifical symbols inside android oat files without any value
for the user while causing a significant perfoamce hit inside the
unwinder. We were already ignoring it inside system at framework@boot.oat
bot they have to be ignored in every oat file. Considering that oat
files are only used on android this have no effect on any other
platfrom.
Modified:
lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
Modified: lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp?rev=274500&r1=274499&r2=274500&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp (original)
+++ lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp Mon Jul 4 08:31:57 2016
@@ -2184,15 +2184,15 @@ ObjectFileELF::ParseSymbols (Symtab *sym
static ConstString bss_section_name(".bss");
static ConstString opd_section_name(".opd"); // For ppc64
- // On Android the oatdata and the oatexec symbols in system at framework@boot.oat covers the full
- // .text section what causes issues with displaying unusable symbol name to the user and very
- // slow unwinding speed because the instruction emulation based unwind plans try to emulate all
+ // On Android the oatdata and the oatexec symbols in the oat files covers the full .text
+ // section what causes issues with displaying unusable symbol name to the user and very slow
+ // unwinding speed because the instruction emulation based unwind plans try to emulate all
// instructions in these symbols. Don't add these symbols to the symbol list as they have no
// use for the debugger and they are causing a lot of trouble.
// Filtering can't be restricted to Android because this special object file don't contain the
// note section specifying the environment to Android but the custom extension and file name
// makes it highly unlikely that this will collide with anything else.
- bool skip_oatdata_oatexec = m_file.GetFilename() == ConstString("system at framework@boot.oat");
+ bool skip_oatdata_oatexec = m_file.GetFileNameExtension() == ConstString("oat");
ArchSpec arch;
GetArchitecture(arch);
More information about the lldb-commits
mailing list