summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/linkage.h
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2023-03-13 15:50:35 +0300
committerHeiko Carstens <hca@linux.ibm.com>2023-03-20 13:12:46 +0300
commit6ef55060a1cc29dd54ff390f22cb3de266dab2b0 (patch)
treee32b6bc3a90d4d8b32c5ecca68fe797a49b7292f /arch/s390/include/asm/linkage.h
parente5323477e66c0e2cf9363646e8a84e98e8c79f43 (diff)
downloadlinux-6ef55060a1cc29dd54ff390f22cb3de266dab2b0.tar.xz
s390: make use of CONFIG_FUNCTION_ALIGNMENT
Make use of CONFIG_FUNCTION_ALIGNMENT which was introduced with commit d49a0626216b ("arch: Introduce CONFIG_FUNCTION_ALIGNMENT"). Select FUNCTION_ALIGNMENT_8B for gcc in order to reflect gcc's default function alignment. For all other compilers, which is only clang, select a function alignment of 16 bytes which reflects the default function alignment for clang. Also change the __ALIGN define to follow whatever the value of CONFIG_FUNCTION_ALIGNMENT is. This makes sure that the alignment of C and assembler functions is the same. In result everything still uses the default function alignment for both compilers. However in addition this is now also true for all assembly functions, so that all functions have a consistent alignment. Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/linkage.h')
-rw-r--r--arch/s390/include/asm/linkage.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/include/asm/linkage.h b/arch/s390/include/asm/linkage.h
index c76777b15fec..df3fb7d8227b 100644
--- a/arch/s390/include/asm/linkage.h
+++ b/arch/s390/include/asm/linkage.h
@@ -4,7 +4,7 @@
#include <linux/stringify.h>
-#define __ALIGN .align 16, 0x07
+#define __ALIGN .balign CONFIG_FUNCTION_ALIGNMENT, 0x07
#define __ALIGN_STR __stringify(__ALIGN)
#endif