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 | |
| 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')
| -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 |
