Re: [PATCH v2 02/16] powerpc: override __ALIGN() and __ALIGN_STR() macros

From: Sathvika Vasireddy
Date: Mon Aug 29 2022 - 10:39:57 EST


Hi Christophe,

On 29/08/22 18:56, Christophe Leroy wrote:

Le 29/08/2022 à 07:52, Sathvika Vasireddy a écrit :
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@xxxxxxxxxxxxx>
---
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)
+
I still can't see the added value of using __stringify() macro here. In
order to use that macro you have to include linux/stringify.h . Usually
we try to minimise the amount of headers required by other headers.
Oh ok, makes sense to me. I'll wait for a day to see if there are any
other comments, and make this change as part of v3.

Thanks for reviewing!

- Sathvika