linkage: add generic GLOBAL() macro
authorMark Rutland <mark.rutland@arm.com>
Thu, 15 Nov 2018 22:41:58 +0000 (22:41 +0000)
committerWill Deacon <will.deacon@arm.com>
Fri, 30 Nov 2018 13:29:04 +0000 (13:29 +0000)
Declaring a global symbol in assembly is tedious, error-prone, and
painful to read. While ENTRY() exists, this is supposed to be used for
function entry points, and this affects alignment in a potentially
undesireable manner.

Instead, let's add a generic GLOBAL() macro for this, as x86 added
locally in commit:

  95695547a7db44b8 ("x86: asm linkage - introduce GLOBAL macro")

... thus allowing us to use this more freely in the kernel.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Torsten Duwe <duwe@suse.de>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
include/linux/linkage.h

index 7c47b1a471d4dbdddb22ce0375e17996a59f9c5a..7e020782ade22adbef8dd4ad2ddae555a74dcb7c 100644 (file)
 #define ALIGN __ALIGN
 #define ALIGN_STR __ALIGN_STR
 
+#ifndef GLOBAL
+#define GLOBAL(name) \
+       .globl name ASM_NL \
+       name:
+#endif
+
 #ifndef ENTRY
 #define ENTRY(name) \
        .globl name ASM_NL \