Skip to content

Commit

Permalink
use ASM_NL instead of '; ' for assembler new line character in the macro
Browse files Browse the repository at this point in the history
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.

Basically this is the same patch as applied to Linux kernel -
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/include/linux/linkage.h?id=9df62f054406992ce41ec4558fca6a0fa56fffeb

but modified a bit to fit in U-Boot.

Signed-off-by: Chen Gang <[email protected]>
Signed-off-by: Alexey Brodkin <[email protected]>
Cc: Masahiro Yamada <[email protected]>
Cc: Simon Glass <[email protected]>
Cc: Tom Rini <[email protected]>
  • Loading branch information
Chen-Gang authored and trini committed Mar 6, 2015
1 parent b050898 commit 950cb9b
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 4 deletions.
12 changes: 12 additions & 0 deletions arch/arc/include/asm/linkage.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/*
* Copyright (C) 2004, 2007-2010, 2011-2015 Synopsys, Inc. All rights reserved.
*
* SPDX-License-Identifier: GPL-2.0+
*/

#ifndef __ASM_ARC_LINKAGE_H
#define __ASM_ARC_LINKAGE_H

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

#endif /* __ASM_ARC_LINKAGE_H */
13 changes: 9 additions & 4 deletions include/linux/linkage.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@

#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 @@ -43,15 +48,15 @@
#define ALIGN_STR __ALIGN_STR

#define LENTRY(name) \
ALIGN; \
ALIGN ASM_NL \
SYMBOL_NAME_LABEL(name)

#define ENTRY(name) \
.globl SYMBOL_NAME(name); \
.globl SYMBOL_NAME(name) ASM_NL \
LENTRY(name)

#define WEAK(name) \
.weak SYMBOL_NAME(name); \
.weak SYMBOL_NAME(name) ASM_NL \
LENTRY(name)

#ifndef END
Expand All @@ -61,7 +66,7 @@

#ifndef ENDPROC
#define ENDPROC(name) \
.type name STT_FUNC; \
.type name STT_FUNC ASM_NL \
END(name)
#endif

Expand Down

0 comments on commit 950cb9b

Please sign in to comment.