[lldb-dev] new tool (core2yaml) + a new top-level library (Formats)

Pavel Labath via lldb-dev lldb-dev at lists.llvm.org
Wed Mar 6 05:11:40 PST 2019

On 05/03/2019 22:52, Zachary Turner wrote:
> On Tue, Mar 5, 2019 at 1:47 PM Jonas Devlieghere via lldb-dev 
> <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>> wrote:
>     I don't know much about the minidump format or code, but it sounds
>     reasonable for me to have support for it in yaml2obj, which would be
>     a sufficient motivation to have the code live there. As you mention
>     in your footnote, MachO core files are already supported, and it
>     sounds like ELF could reuse a bunch of existing code as well. So
>     having everything in LLVM would give you even more symmetry. I also
>     doubt anyone would mind having more fine grained yamlization, even
>     if you cannot use it to reduce a test it's nicer to see structure
>     than a binary blob (imho). Anyway, that's just my take, I guess this
>     is more of a question for the LLVM mailing list.
> A lot of obj2yaml output is just "Section Name" / "Section Contents" and 
> then a long hex string consisting of the contents.  Since a core file is 
> an ELF file, this would already be supported for obj2yaml today (in 
> theory)

Actually, even this is not true. An elf *core file* is an *elf file*, 
but it contains no sections. It contains "segments" instead. :P obj2yaml 
has absolutely no support for segments so if you try it to yamlize a 
core file, you will get an empty output.

Interestingly, yaml2obj does contain some support for segments, but its 
extremely limited, and can only be used to create very simple 
"executable" files. Core files still cannot be represented there right 
now, as yaml2obj is still very section-centric.

However, I do see the appeal in having a single tool for yamlization of 
various "object" file formats, so I am going to send an email to 
llvm-dev and see what the response is like there. I'd encourage anyone 
interested in this to voice your opinion there too.


More information about the lldb-dev mailing list