[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