diff options
author | Chen Gang <gang.chen.5i5j@gmail.com> | 2014-01-11 20:59:13 -0500 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2014-01-27 15:45:29 -0500 |
commit | 9df62f054406992ce41ec4558fca6a0fa56fffeb (patch) | |
tree | d3e24b768c79e1daefefc635bd01e13226699327 /include/linux/linkage.h | |
parent | e36aaea28972c57a32a3ba5365e61633739719b9 (diff) |
arch: use ASM_NL instead of ';' for assembler new line character in the macro
For some assemblers, they use another character as newline in a macro
(e.g. arc uses '`'), so for generic assembly code, need use ASM_NL (a
macro) instead of ';' for it.
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Acked-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'include/linux/linkage.h')
-rw-r--r-- | include/linux/linkage.h | 19 |
1 files changed, 12 insertions, 7 deletions
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 |