aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arc/include/asm/linkage.h2
-rw-r--r--include/linux/linkage.h19
2 files changed, 14 insertions, 7 deletions
diff --git a/arch/arc/include/asm/linkage.h b/arch/arc/include/asm/linkage.h
index 0283e9e44e0d..66ee5527aefc 100644
--- a/arch/arc/include/asm/linkage.h
+++ b/arch/arc/include/asm/linkage.h
@@ -11,6 +11,8 @@
11 11
12#ifdef __ASSEMBLY__ 12#ifdef __ASSEMBLY__
13 13
14#define ASM_NL ` /* use '`' to mark new line in macro */
15
14/* Can't use the ENTRY macro in linux/linkage.h 16/* Can't use the ENTRY macro in linux/linkage.h
15 * gas considers ';' as comment vs. newline 17 * gas considers ';' as comment vs. newline
16 */ 18 */
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index d3e8ad23a8e0..a6a42dd02466 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -6,6 +6,11 @@
6#include <linux/export.h> 6#include <linux/export.h>
7#include <asm/linkage.h> 7#include <asm/linkage.h>
8 8
9/* Some toolchains use other characters (e.g. '`') to mark new line in macro */
10#ifndef ASM_NL
11#define ASM_NL ;
12#endif
13
9#ifdef __cplusplus 14#ifdef __cplusplus
10#define CPP_ASMLINKAGE extern "C" 15#define CPP_ASMLINKAGE extern "C"
11#else 16#else
@@ -75,21 +80,21 @@
75 80
76#ifndef ENTRY 81#ifndef ENTRY
77#define ENTRY(name) \ 82#define ENTRY(name) \
78 .globl name; \ 83 .globl name ASM_NL \
79 ALIGN; \ 84 ALIGN ASM_NL \
80 name: 85 name:
81#endif 86#endif
82#endif /* LINKER_SCRIPT */ 87#endif /* LINKER_SCRIPT */
83 88
84#ifndef WEAK 89#ifndef WEAK
85#define WEAK(name) \ 90#define WEAK(name) \
86 .weak name; \ 91 .weak name ASM_NL \
87 name: 92 name:
88#endif 93#endif
89 94
90#ifndef END 95#ifndef END
91#define END(name) \ 96#define END(name) \
92 .size name, .-name 97 .size name, .-name
93#endif 98#endif
94 99
95/* If symbol 'name' is treated as a subroutine (gets called, and returns) 100/* If symbol 'name' is treated as a subroutine (gets called, and returns)
@@ -98,8 +103,8 @@
98 */ 103 */
99#ifndef ENDPROC 104#ifndef ENDPROC
100#define ENDPROC(name) \ 105#define ENDPROC(name) \
101 .type name, @function; \ 106 .type name, @function ASM_NL \
102 END(name) 107 END(name)
103#endif 108#endif
104 109
105#endif 110#endif