x86: shrink __ALIGN and __ALIGN_STR definitions
authorCyrill Gorcunov <gorcunov@gmail.com>
Mon, 9 Mar 2009 17:19:51 +0000 (20:19 +0300)
committerIngo Molnar <mingo@elte.hu>
Wed, 11 Mar 2009 11:39:28 +0000 (12:39 +0100)
Impact: cleanup

1) .p2align 4 and .align 16 are the same meaning
   (until a.out format for i386 is used which is
    not our case for CONFIG_X86_ALIGNMENT_16 anyway)

2) having 15 as max allowed bytes to be skipped
   does not make sense on modulo 16

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
LKML-Reference: <20090309171951.GE9945@localhost>
[ small cleanup, use __stringify(), etc. ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/linkage.h

index a0d70b4..12d55e7 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef _ASM_X86_LINKAGE_H
 #define _ASM_X86_LINKAGE_H
 
+#include <linux/stringify.h>
+
 #undef notrace
 #define notrace __attribute__((no_instrument_function))
 
        .globl name;    \
        name:
 
-#ifdef CONFIG_X86_64
-#define __ALIGN .p2align 4,,15
-#define __ALIGN_STR ".p2align 4,,15"
-#endif
-
-#ifdef CONFIG_X86_ALIGNMENT_16
-#define __ALIGN .align 16,0x90
-#define __ALIGN_STR ".align 16,0x90"
+#if defined(CONFIG_X86_64) || defined(CONFIG_X86_ALIGNMENT_16)
+#define __ALIGN                .p2align 4, 0x90
+#define __ALIGN_STR    __stringify(__ALIGN)
 #endif
 
 #endif /* __ASSEMBLY__ */