objtool: Remove newlines and tabs from annotation macros
Remove newlines and tabs from the annotation macros so the invoking code can insert them as needed to match the style of the surrounding code. Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: https://patch.msgid.link/66305834c2eb78f082217611b756231ae9c0b555.1764694625.git.jpoimboe@kernel.orgpull/1354/merge
parent
305c8dc477
commit
ed3bf863dc
|
|
@ -208,7 +208,7 @@ static inline int alternatives_text_reserved(void *start, void *end)
|
|||
|
||||
#define ALTINSTR_REPLACEMENT(newinstr) /* replacement */ \
|
||||
".pushsection .altinstr_replacement, \"ax\"\n" \
|
||||
ANNOTATE_DATA_SPECIAL \
|
||||
ANNOTATE_DATA_SPECIAL "\n" \
|
||||
"# ALT: replacement\n" \
|
||||
"774:\n\t" newinstr "\n775:\n" \
|
||||
".popsection\n"
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ extern void __WARN_trap(struct bug_entry *bug, ...);
|
|||
|
||||
#define _BUG_FLAGS_ASM(format, file, line, flags, size, extra) \
|
||||
".pushsection __bug_table,\"aw\"\n\t" \
|
||||
ANNOTATE_DATA_SPECIAL \
|
||||
ANNOTATE_DATA_SPECIAL "\n\t" \
|
||||
"2:\n\t" \
|
||||
__BUG_ENTRY(format, file, line, flags) \
|
||||
"\t.org 2b + " size "\n" \
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ static __always_inline bool _static_cpu_has(u16 bit)
|
|||
asm goto(ALTERNATIVE_TERNARY("jmp 6f", %c[feature], "", "jmp %l[t_no]")
|
||||
".pushsection .altinstr_aux,\"ax\"\n"
|
||||
"6:\n"
|
||||
ANNOTATE_DATA_SPECIAL
|
||||
ANNOTATE_DATA_SPECIAL "\n"
|
||||
" testb %[bitnum], %a[cap_byte]\n"
|
||||
" jnz %l[t_yes]\n"
|
||||
" jmp %l[t_no]\n"
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@
|
|||
|
||||
#define ASM_CALL_ARG0 \
|
||||
"1: call %c[__func] \n" \
|
||||
ANNOTATE_REACHABLE(1b)
|
||||
ANNOTATE_REACHABLE(1b) " \n"
|
||||
|
||||
#define ASM_CALL_ARG1 \
|
||||
"movq %[arg1], %%rdi \n" \
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#define JUMP_TABLE_ENTRY(key, label) \
|
||||
".pushsection __jump_table, \"aw\" \n\t" \
|
||||
_ASM_ALIGN "\n\t" \
|
||||
ANNOTATE_DATA_SPECIAL \
|
||||
ANNOTATE_DATA_SPECIAL "\n" \
|
||||
".long 1b - . \n\t" \
|
||||
".long " label " - . \n\t" \
|
||||
_ASM_PTR " " key " - . \n\t" \
|
||||
|
|
|
|||
|
|
@ -464,7 +464,7 @@ static inline void call_depth_return_thunk(void) {}
|
|||
*/
|
||||
# define CALL_NOSPEC \
|
||||
ALTERNATIVE_2( \
|
||||
ANNOTATE_RETPOLINE_SAFE \
|
||||
ANNOTATE_RETPOLINE_SAFE "\n" \
|
||||
"call *%[thunk_target]\n", \
|
||||
" jmp 904f;\n" \
|
||||
" .align 16\n" \
|
||||
|
|
@ -480,7 +480,7 @@ static inline void call_depth_return_thunk(void) {}
|
|||
"904: call 901b;\n", \
|
||||
X86_FEATURE_RETPOLINE, \
|
||||
"lfence;\n" \
|
||||
ANNOTATE_RETPOLINE_SAFE \
|
||||
ANNOTATE_RETPOLINE_SAFE "\n" \
|
||||
"call *%[thunk_target]\n", \
|
||||
X86_FEATURE_RETPOLINE_LFENCE)
|
||||
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ extern struct paravirt_patch_template pv_ops;
|
|||
* don't need to bother with CFI prefixes.
|
||||
*/
|
||||
#define PARAVIRT_CALL \
|
||||
ANNOTATE_RETPOLINE_SAFE \
|
||||
ANNOTATE_RETPOLINE_SAFE "\n\t" \
|
||||
"call *%[paravirt_opptr];"
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ static __always_inline unsigned long smap_save(void)
|
|||
unsigned long flags;
|
||||
|
||||
asm volatile ("# smap_save\n\t"
|
||||
ALTERNATIVE(ANNOTATE_IGNORE_ALTERNATIVE
|
||||
ALTERNATIVE(ANNOTATE_IGNORE_ALTERNATIVE "\n\t"
|
||||
"", "pushf; pop %0; clac",
|
||||
X86_FEATURE_SMAP)
|
||||
: "=rm" (flags) : : "memory", "cc");
|
||||
|
|
@ -51,7 +51,7 @@ static __always_inline unsigned long smap_save(void)
|
|||
static __always_inline void smap_restore(unsigned long flags)
|
||||
{
|
||||
asm volatile ("# smap_restore\n\t"
|
||||
ALTERNATIVE(ANNOTATE_IGNORE_ALTERNATIVE
|
||||
ALTERNATIVE(ANNOTATE_IGNORE_ALTERNATIVE "\n\t"
|
||||
"", "push %0; popf",
|
||||
X86_FEATURE_SMAP)
|
||||
: : "g" (flags) : "memory", "cc");
|
||||
|
|
@ -64,9 +64,9 @@ static __always_inline void smap_restore(unsigned long flags)
|
|||
ALTERNATIVE("", "stac", X86_FEATURE_SMAP)
|
||||
|
||||
#define ASM_CLAC_UNSAFE \
|
||||
ALTERNATIVE("", ANNOTATE_IGNORE_ALTERNATIVE "clac", X86_FEATURE_SMAP)
|
||||
ALTERNATIVE("", ANNOTATE_IGNORE_ALTERNATIVE "\n\t" "clac", X86_FEATURE_SMAP)
|
||||
#define ASM_STAC_UNSAFE \
|
||||
ALTERNATIVE("", ANNOTATE_IGNORE_ALTERNATIVE "stac", X86_FEATURE_SMAP)
|
||||
ALTERNATIVE("", ANNOTATE_IGNORE_ALTERNATIVE "\n\t" "stac", X86_FEATURE_SMAP)
|
||||
|
||||
#endif /* __ASSEMBLER__ */
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
".align 4 \n" \
|
||||
".globl " STATIC_CALL_TRAMP_STR(name) " \n" \
|
||||
STATIC_CALL_TRAMP_STR(name) ": \n" \
|
||||
ANNOTATE_NOENDBR \
|
||||
ANNOTATE_NOENDBR " \n" \
|
||||
insns " \n" \
|
||||
".byte 0x0f, 0xb9, 0xcc \n" \
|
||||
".type " STATIC_CALL_TRAMP_STR(name) ", @function \n" \
|
||||
|
|
|
|||
|
|
@ -2229,7 +2229,7 @@ asm (
|
|||
" .pushsection .init.text, \"ax\", @progbits\n"
|
||||
" .type int3_selftest_asm, @function\n"
|
||||
"int3_selftest_asm:\n"
|
||||
ANNOTATE_NOENDBR
|
||||
ANNOTATE_NOENDBR "\n"
|
||||
/*
|
||||
* INT3 padded with NOP to CALL_INSN_SIZE. The INT3 triggers an
|
||||
* exception, then the int3_exception_nb notifier emulates a call to
|
||||
|
|
@ -2247,7 +2247,7 @@ asm (
|
|||
" .pushsection .init.text, \"ax\", @progbits\n"
|
||||
" .type int3_selftest_callee, @function\n"
|
||||
"int3_selftest_callee:\n"
|
||||
ANNOTATE_NOENDBR
|
||||
ANNOTATE_NOENDBR "\n"
|
||||
" movl $0x1234, (%" _ASM_ARG1 ")\n"
|
||||
ASM_RET
|
||||
" .size int3_selftest_callee, . - int3_selftest_callee\n"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ asm(
|
|||
".type arch_rethook_trampoline, @function\n"
|
||||
"arch_rethook_trampoline:\n"
|
||||
#ifdef CONFIG_X86_64
|
||||
ANNOTATE_NOENDBR /* This is only jumped from ret instruction */
|
||||
ANNOTATE_NOENDBR "\n" /* This is only jumped from ret instruction */
|
||||
/* Push a fake return address to tell the unwinder it's a rethook. */
|
||||
" pushq $arch_rethook_trampoline\n"
|
||||
UNWIND_HINT_FUNC
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ asm (".global __static_call_return\n\t"
|
|||
".type __static_call_return, @function\n\t"
|
||||
ASM_FUNC_ALIGN "\n\t"
|
||||
"__static_call_return:\n\t"
|
||||
ANNOTATE_NOENDBR
|
||||
ANNOTATE_RETPOLINE_SAFE
|
||||
ANNOTATE_NOENDBR "\n\t"
|
||||
ANNOTATE_RETPOLINE_SAFE "\n\t"
|
||||
"ret; int3\n\t"
|
||||
".size __static_call_return, . - __static_call_return \n\t");
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ asm(
|
|||
".globl just_return_func\n"
|
||||
ASM_FUNC_ALIGN
|
||||
"just_return_func:\n"
|
||||
ANNOTATE_NOENDBR
|
||||
ANNOTATE_NOENDBR "\n"
|
||||
ASM_RET
|
||||
".size just_return_func, .-just_return_func\n"
|
||||
);
|
||||
|
|
|
|||
|
|
@ -15,15 +15,15 @@
|
|||
#ifndef __ASSEMBLY__
|
||||
|
||||
#define ASM_ANNOTATE_LABEL(label, type) \
|
||||
__stringify(__ASM_ANNOTATE(".discard.annotate_insn", label, type)) "\n\t"
|
||||
__stringify(__ASM_ANNOTATE(".discard.annotate_insn", label, type))
|
||||
|
||||
#define ASM_ANNOTATE(type) \
|
||||
"911: " \
|
||||
__stringify(__ASM_ANNOTATE(".discard.annotate_insn", 911b, type)) "\n\t"
|
||||
__stringify(__ASM_ANNOTATE(".discard.annotate_insn", 911b, type))
|
||||
|
||||
#define ASM_ANNOTATE_DATA(type) \
|
||||
"912: " \
|
||||
__stringify(__ASM_ANNOTATE(".discard.annotate_data", 912b, type)) "\n\t"
|
||||
__stringify(__ASM_ANNOTATE(".discard.annotate_data", 912b, type))
|
||||
|
||||
#else /* __ASSEMBLY__ */
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
#define UNWIND_HINT(type, sp_reg, sp_offset, signal) \
|
||||
"987: \n\t" \
|
||||
".pushsection .discard.unwind_hints\n\t" \
|
||||
ANNOTATE_DATA_SPECIAL \
|
||||
ANNOTATE_DATA_SPECIAL "\n\t" \
|
||||
/* struct unwind_hint */ \
|
||||
".long 987b - .\n\t" \
|
||||
".short " __stringify(sp_offset) "\n\t" \
|
||||
|
|
|
|||
Loading…
Reference in New Issue