Messages in this thread Patch in this message | | | From | Sathvika Vasireddy <> | Subject | [PATCH v2 02/16] powerpc: override __ALIGN() and __ALIGN_STR() macros | Date | Mon, 29 Aug 2022 11:22:09 +0530 |
| |
Powerpc instructions must be word-aligned. Currently, there is an alignment of 16 bytes (by default), and it is much more than what is required for powerpc (4 bytes).
The default expansion of __ALIGN() macro is: #define __ALIGN .align 4,0x90
Since Powerpc Linux does not require a 16 byte alignment, override __ALIGN() and __ALIGN_STR() macros to use required 4 byte alignment.
Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com> --- arch/powerpc/include/asm/linkage.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/powerpc/include/asm/linkage.h b/arch/powerpc/include/asm/linkage.h index b71b9582e754..8df88fe61438 100644 --- a/arch/powerpc/include/asm/linkage.h +++ b/arch/powerpc/include/asm/linkage.h @@ -2,8 +2,12 @@ #ifndef _ASM_POWERPC_LINKAGE_H #define _ASM_POWERPC_LINKAGE_H +#include <linux/stringify.h> #include <asm/types.h> +#define __ALIGN .align 2 +#define __ALIGN_STR __stringify(__ALIGN) + #ifdef CONFIG_PPC64_ELF_ABI_V1 #define cond_syscall(x) \ asm ("\t.weak " #x "\n\t.set " #x ", sys_ni_syscall\n" \ -- 2.31.1
| |