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

Josh Poimboeuf posted 4 patches 1 week, 6 days 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 v2 0/4] objtool: Improve code generation for annotation macros
Posted by Josh Poimboeuf 1 week, 6 days ago
For tip/objtool/urgent (fixing a "regression" in code generation).

Changes since v1 (https://lore.kernel.org/cover.1764137163.git.jpoimboe@kernel.org):
- rebase on Linus's tree (bug.h conflicts)

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