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

Reply via email to