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.

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 <gang.chen.5i5j@gmail.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
master
Chen Gang 9 years ago committed by Tom Rini
parent b050898efa
commit 950cb9bbc7
  1. 12
      arch/arc/include/asm/linkage.h
  2. 13
      include/linux/linkage.h

@ -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 */

@ -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
@ -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
@ -61,7 +66,7 @@
#ifndef ENDPROC
#define ENDPROC(name) \
.type name STT_FUNC; \
.type name STT_FUNC ASM_NL \
END(name)
#endif

Loading…
Cancel
Save