Instead of triggering off Linux, can we trigger off the fact that the core module really didn't figure out what the architecture actually is? Would unknown-unknown ever be a correct/useful response for a modules's architecture?
Jim > On Jul 13, 2015, at 4:22 PM, Ted Woodward <ted.woodw...@codeaurora.org> wrote: > > I’m trying to load a core file on Ubuntu 12, but I’m getting an assert in > ThreadElfCore::CreateRegisterContextForFrame() because the > arch.GetTriple().getOS() returns UnknownOS instead of Linux. > > I’ve stepped through loading my binary, and the target’s OS Is correctly set > to Linux. But ProcessElfCore::DoLoadCore() has this code: > // Even if the architecture is set in the target, we need to override > // it to match the core file which is always single arch. > ArchSpec arch (m_core_module_sp->GetArchitecture()); > if (arch.IsValid()) > m_target.SetArchitecture(arch); > > The problem is Linux core files don’t have anything in them to indicate that > they are Linux. Linux is identified through a note that is added by > gcc/clang, but isn’t in the core file. So x86-64-unknown-Linux gets replaced > by x86-64-unknown-unknown. > > I’m thinking of changing this to not override the architecture if the > target’s OS is Linux. Any thoughts? > > -- > Qualcomm Innovation Center, Inc. > The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a > Linux Foundation Collaborative Project > > _______________________________________________ > lldb-dev mailing list > lldb-dev@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev