Re: [PATCH v3 02/16] powerpc: Override __ALIGN and __ALIGN_STR macros
From: Peter Zijlstra <peterz@infradead.org>
Date: 2022-09-13 12:04:43
Also in:
lkml
On Mon, Sep 12, 2022 at 01:50:06PM +0530, Sathvika Vasireddy wrote:
quoted hunk ↗ jump to hunk
In a subsequent patch, we would want to annotate powerpc assembly functions with SYM_FUNC_START_LOCAL macro. This macro depends on __ALIGN macro. The default expansion of __ALIGN macro is: #define __ALIGN .align 4,0x90 So, override __ALIGN and __ALIGN_STR macros to use the same alignment as that of the existing _GLOBAL macro. Also, do not pad with 0x90, because repeated 0x90s are not a nop or trap on powerpc. Signed-off-by: Sathvika Vasireddy <redacted> --- arch/powerpc/include/asm/linkage.h | 3 +++ 1 file changed, 3 insertions(+)diff --git a/arch/powerpc/include/asm/linkage.h b/arch/powerpc/include/asm/linkage.h index b71b9582e754..b88d1d2cf304 100644 --- a/arch/powerpc/include/asm/linkage.h +++ b/arch/powerpc/include/asm/linkage.h@@ -4,6 +4,9 @@ #include <asm/types.h> +#define __ALIGN .align 2 +#define __ALIGN_STR ".align 2"
Like mentioned last time; I'm fixing this (but you're right to not wait on that), that said, would it make sense to write it like: #define __ALIGN .balign 4 #define __ALIGN_STR __stringify(__ALIGN) That said; with power instructions being 4 bytes, the above alignment is basically no-alignment, right?