]> git.karo-electronics.de Git - karo-tx-uboot.git/commitdiff
use ASM_NL instead of '; ' for assembler new line character in the macro
authorChen Gang <gang.chen.5i5j@gmail.com>
Thu, 19 Feb 2015 15:51:27 +0000 (18:51 +0300)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 1 Sep 2015 12:24:11 +0000 (14:24 +0200)
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>
arch/arc/include/asm/linkage.h [new file with mode: 0644]
include/linux/linkage.h

diff --git a/arch/arc/include/asm/linkage.h b/arch/arc/include/asm/linkage.h
new file mode 100644 (file)
index 0000000..2d1a603
--- /dev/null
@@ -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 */
index 5797498adceceb48c5368d91c3155a59daadb094..efb04eeed4b073d7405ea737507ac95f954de021 100644 (file)
 
 #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
 #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