[PATCH 0/4] objtool: Improve code generation for annotation macros

Josh Poimboeuf posted 4 patches 5 days, 16 hours ago
arch/um/include/asm/Kbuild                 |  1 -
arch/um/include/shared/common-offsets.h    |  3 ++
arch/x86/include/asm/alternative.h         |  9 +++---
arch/x86/include/asm/asm.h                 | 25 ++++++++-------
arch/x86/include/asm/bug.h                 |  2 +-
arch/x86/include/asm/cpufeature.h          |  2 +-
arch/x86/include/asm/irq_stack.h           |  2 +-
arch/x86/include/asm/jump_label.h          |  2 +-
arch/x86/include/asm/nospec-branch.h       |  4 +--
arch/x86/include/asm/paravirt_types.h      |  2 +-
arch/x86/include/asm/smap.h                |  8 ++---
arch/x86/include/asm/static_call.h         |  2 +-
arch/x86/kernel/alternative.c              |  4 +--
arch/x86/kernel/asm-offsets.c              |  3 ++
arch/x86/kernel/rethook.c                  |  2 +-
arch/x86/kernel/static_call.c              |  4 +--
arch/x86/lib/error-inject.c                |  2 +-
arch/x86/um/shared/sysdep/kernel-offsets.h |  2 ++
include/linux/annotate.h                   | 36 +++++++++-------------
include/linux/objtool.h                    |  2 +-
kernel/bounds.c                            |  1 +
scripts/mod/devicetable-offsets.c          |  1 +
22 files changed, 62 insertions(+), 57 deletions(-)
[PATCH 0/4] objtool: Improve code generation for annotation macros
Posted by Josh Poimboeuf 5 days, 16 hours ago
For tip/objtool/core.

As much as possible, undo the code generation damage introduced by
ANNOTATE_DATA_SPECIAL:

  - Remove its usage in favor of SHF_MERGE + sh_entsize, where possible

  - Print the annotation on a single line:

      912: .pushsection ".discard.annotate_data", "M", @progbits, 8; .long 912b - .; .long 1; .popsection

  - Remove the trailing newline/tab; let the invoking code decide on the
    appropriate separator for the given context

Josh Poimboeuf (4):
  x86/alternative: Remove ANNOTATE_DATA_SPECIAL usage
  x86/asm: Remove ANNOTATE_DATA_SPECIAL usage
  objtool: Consolidate annotation macros
  objtool: Remove newlines and tabs from annotation macros

 arch/um/include/asm/Kbuild                 |  1 -
 arch/um/include/shared/common-offsets.h    |  3 ++
 arch/x86/include/asm/alternative.h         |  9 +++---
 arch/x86/include/asm/asm.h                 | 25 ++++++++-------
 arch/x86/include/asm/bug.h                 |  2 +-
 arch/x86/include/asm/cpufeature.h          |  2 +-
 arch/x86/include/asm/irq_stack.h           |  2 +-
 arch/x86/include/asm/jump_label.h          |  2 +-
 arch/x86/include/asm/nospec-branch.h       |  4 +--
 arch/x86/include/asm/paravirt_types.h      |  2 +-
 arch/x86/include/asm/smap.h                |  8 ++---
 arch/x86/include/asm/static_call.h         |  2 +-
 arch/x86/kernel/alternative.c              |  4 +--
 arch/x86/kernel/asm-offsets.c              |  3 ++
 arch/x86/kernel/rethook.c                  |  2 +-
 arch/x86/kernel/static_call.c              |  4 +--
 arch/x86/lib/error-inject.c                |  2 +-
 arch/x86/um/shared/sysdep/kernel-offsets.h |  2 ++
 include/linux/annotate.h                   | 36 +++++++++-------------
 include/linux/objtool.h                    |  2 +-
 kernel/bounds.c                            |  1 +
 scripts/mod/devicetable-offsets.c          |  1 +
 22 files changed, 62 insertions(+), 57 deletions(-)

-- 
2.51.1
Re: [PATCH 0/4] objtool: Improve code generation for annotation macros
Posted by Peter Zijlstra 5 days, 13 hours ago
On Tue, Nov 25, 2025 at 10:06:56PM -0800, Josh Poimboeuf wrote:
> For tip/objtool/core.
> 
> As much as possible, undo the code generation damage introduced by
> ANNOTATE_DATA_SPECIAL:
> 
>   - Remove its usage in favor of SHF_MERGE + sh_entsize, where possible
> 
>   - Print the annotation on a single line:
> 
>       912: .pushsection ".discard.annotate_data", "M", @progbits, 8; .long 912b - .; .long 1; .popsection
> 
>   - Remove the trailing newline/tab; let the invoking code decide on the
>     appropriate separator for the given context
> 
> Josh Poimboeuf (4):
>   x86/alternative: Remove ANNOTATE_DATA_SPECIAL usage
>   x86/asm: Remove ANNOTATE_DATA_SPECIAL usage
>   objtool: Consolidate annotation macros
>   objtool: Remove newlines and tabs from annotation macros

Durr, this will conflict with tip/core/bugs. Let me ponder this a bit.