clayborg added a comment. See Inlined comment.
================ Comment at: source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp:975-997 @@ -974,5 +974,25 @@ { - // No entry in the address class map before the address. Return - // default address class for an address in a code section. - return eAddressClassCode; + // No entry in the address class map before the address. Try finding + // the address class by using symbol flags, otherwise return default + // address class for an address in a code section. + + ArchSpec arch_spec; + GetArchitecture(arch_spec); + if (arch_spec.GetMachine() != llvm::Triple::arm) + return res; + + auto symtab = GetSymtab(); + if (symtab == nullptr) + return res; + + auto symbol = symtab->FindSymbolContainingFileAddress(file_addr); + if (symbol == nullptr) + return res; + + // Thumb symbols have the lower bit set in the flags field so we just check + // for that. + if (symbol->GetFlags() & ARM_ELF_SYM_IS_THUMB) + res = eAddressClassCodeAlternateISA; + + return res; } ---------------- Remove this and move it to ObjectFileELF::ParseSymbols() http://reviews.llvm.org/D14507 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits