Skip to content

objtool-core-2022-05-23

 - Comprehensive interface overhaul:
   =================================

   Objtool's interface has some issues:

     - Several features are done unconditionally, without any way to turn
       them off.  Some of them might be surprising.  This makes objtool
       tricky to use, and prevents porting individual features to other
       arches.

     - The config dependencies are too coarse-grained.  Objtool enablement is
       tied to CONFIG_STACK_VALIDATION, but it has several other features
       independent of that.

     - The objtool subcmds ("check" and "orc") are clumsy: "check" is really
       a subset of "orc", so it has all the same options.  The subcmd model
       has never really worked for objtool, as it only has a single purpose:
       "do some combination of things on an object file".

     - The '--lto' and '--vmlinux' options are nonsensical and have
       surprising behavior.

   Overhaul the interface:

      - get rid of subcmds

      - make all features individually selectable

      - remove and/or clarify confusing/obsolete options

      - update the documentation

      - fix some bugs found along the way

 - Fix x32 regression

 - Fix Kbuild cleanup bugs

 - Add scripts/objdump-func helper script to disassemble a single function from an object file.

 - Rewrite scripts/faddr2line to be section-aware, by basing it on 'readelf',
   moving it away from 'nm', which doesn't handle multiple sections well,
   which can result in decoding failure.

 - Rewrite & fix symbol handling - which had a number of bugs wrt. object files
   that don't have global symbols - which is rare but possible. Also fix a
   bunch of symbol handling bugs found along the way.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Assets 2
Loading