Commit 9df62f05 authored by Chen Gang's avatar Chen Gang Committed by Michal Marek

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: default avatarChen Gang <gang.chen.5i5j@gmail.com>
Acked-by: default avatarVineet Gupta <vgupta@synopsys.com>
Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
parent e36aaea2
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
#ifdef __ASSEMBLY__ #ifdef __ASSEMBLY__
#define ASM_NL ` /* use '`' to mark new line in macro */
/* Can't use the ENTRY macro in linux/linkage.h /* Can't use the ENTRY macro in linux/linkage.h
* gas considers ';' as comment vs. newline * gas considers ';' as comment vs. newline
*/ */
......
...@@ -6,6 +6,11 @@ ...@@ -6,6 +6,11 @@
#include <linux/export.h> #include <linux/export.h>
#include <asm/linkage.h> #include <asm/linkage.h>
/* Some toolchains use other characters (e.g. '`') to mark new line in macro */
#ifndef ASM_NL
#define ASM_NL ;
#endif
#ifdef __cplusplus #ifdef __cplusplus
#define CPP_ASMLINKAGE extern "C" #define CPP_ASMLINKAGE extern "C"
#else #else
...@@ -75,21 +80,21 @@ ...@@ -75,21 +80,21 @@
#ifndef ENTRY #ifndef ENTRY
#define ENTRY(name) \ #define ENTRY(name) \
.globl name; \ .globl name ASM_NL \
ALIGN; \ ALIGN ASM_NL \
name: name:
#endif #endif
#endif /* LINKER_SCRIPT */ #endif /* LINKER_SCRIPT */
#ifndef WEAK #ifndef WEAK
#define WEAK(name) \ #define WEAK(name) \
.weak name; \ .weak name ASM_NL \
name: name:
#endif #endif
#ifndef END #ifndef END
#define END(name) \ #define END(name) \
.size name, .-name .size name, .-name
#endif #endif
/* If symbol 'name' is treated as a subroutine (gets called, and returns) /* If symbol 'name' is treated as a subroutine (gets called, and returns)
...@@ -98,8 +103,8 @@ ...@@ -98,8 +103,8 @@
*/ */
#ifndef ENDPROC #ifndef ENDPROC
#define ENDPROC(name) \ #define ENDPROC(name) \
.type name, @function; \ .type name, @function ASM_NL \
END(name) END(name)
#endif #endif
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment