Skip to content

Commit

Permalink
arch: use ASM_NL instead of ';' for assembler new line character in t…
Browse files Browse the repository at this point in the history
…he 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>
  • Loading branch information
Chen Gang authored and Michal Marek committed Jan 27, 2014
1 parent e36aaea commit 9df62f0
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
2 changes: 2 additions & 0 deletions arch/arc/include/asm/linkage.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

#ifdef __ASSEMBLY__

#define ASM_NL ` /* use '`' to mark new line in macro */

/* Can't use the ENTRY macro in linux/linkage.h
* gas considers ';' as comment vs. newline
*/
Expand Down
19 changes: 12 additions & 7 deletions include/linux/linkage.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
#include <linux/export.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
#define CPP_ASMLINKAGE extern "C"
#else
Expand Down Expand Up @@ -75,21 +80,21 @@

#ifndef ENTRY
#define ENTRY(name) \
.globl name; \
ALIGN; \
name:
.globl name ASM_NL \
ALIGN ASM_NL \
name:
#endif
#endif /* LINKER_SCRIPT */

#ifndef WEAK
#define WEAK(name) \
.weak name; \
.weak name ASM_NL \
name:
#endif

#ifndef END
#define END(name) \
.size name, .-name
.size name, .-name
#endif

/* If symbol 'name' is treated as a subroutine (gets called, and returns)
Expand All @@ -98,8 +103,8 @@
*/
#ifndef ENDPROC
#define ENDPROC(name) \
.type name, @function; \
END(name)
.type name, @function ASM_NL \
END(name)
#endif

#endif
Expand Down

0 comments on commit 9df62f0

Please sign in to comment.