Hello,
On Wed, 14 Sep 2022, Peter Zijlstra wrote:
quoted
Maybe this is semantics, but I wouldn't characterize objtool's existence
as being based on the mistrust of tools. It's main motivation is to
fill in the toolchain's blind spots in asm and inline-asm, which exist
by design.
That and a fairly deep seated loathing for the regular CFI annotations
and DWARF in general. Linus was fairly firm he didn't want anything to
do with DWARF for in-kernel unwinding.
I was referring only to the check-stuff functionality of objtool, not to
its other parts. Altough, of course, "deep seated loathing" is a special
form of mistrust as well ;-)
That left us in a spot that we needed unwind information in a 'better'
format than DWARF.
Objtool was born out of those contraints. ORC not needing the CFI
annotations and ORC being *much* faster at unwiding and generation
(debug builds are slow) were all good.
Don't mix DWARF debug info with DWARF-based unwinding info, the latter
doesn't imply the former. Out of interest: how does ORC get around the
need for CFI annotations (or equivalents to restore registers) and what
makes it fast? I want faster unwinding for DWARF as well, when there's
feature parity :-) Maybe something can be learned for integration into
dwarf-unwind.
Ciao,
Michael.