[lldb-dev] Linux ELF header e_ident[EI_OSABI] value
Ted Woodward via lldb-dev
lldb-dev at lists.llvm.org
Fri Aug 26 08:17:18 PDT 2016
That works fine for host debug, but not so much for embedded. On Hexagon, we
support 2 OS cases - standalone (which means no OS, or an OS that lldb
doesn't know anything about) and Linux. Both our standalone simulator and
our Linux generate core dumps using ELFOSABI_NONE. We run lldb on both x86
Linux and Windows, and our core dumps need to work on both.
Doesn't lldb get the correct OS from the target when you load them together?
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
Linux Foundation Collaborative Project
From: Howard Hellyer [mailto:HHELLYER at uk.ibm.com]
Sent: Friday, August 26, 2016 8:39 AM
To: Todd Fiala <todd.fiala at gmail.com>
Cc: LLDB <lldb-dev at lists.llvm.org>; Ted Woodward
<ted.woodward at codeaurora.org>
Subject: Re: [lldb-dev] Linux ELF header e_ident[EI_OSABI] value
Todd Fiala <todd.fiala at gmail.com <mailto:todd.fiala at gmail.com> > wrote on
> FWIW, I've taken a few whacks at getting Linux detected better over
> the last few years, and haven't yet found a reliable way to detect
> it from quite a few samples of cores from a number of different
> systems. We can spend more time looking into it, but that stone has
> been turned over several times.
I spent quite a lot of time looking at the output of readelf too. I was kind
of hoping Linux was the only platform not using it's OSABI value, which
would have worked.
The only other thing I thought of suggesting was having the ELFOSABI_NONE
case ifdef'd so that lldb defaults to the platform that it was built for -
on the assumption that you are probably opening a core from the machine you
are on. (So on Linux ELFOSABI_NONE would mean Linux, on FreeBSD it would
mean FreeBSD.) That would have meant lldb behaved differently depending on
where it was compiled which seems wrong and would introduce awkward to debug
behaviour so I ended up talking myself out of it.
IBM Runtime Technologies, IBM Systems
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the lldb-dev