Message ID | 1424361087-17684-1-git-send-email-abrodkin@synopsys.com |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
On Thu, Feb 19, 2015 at 06:51:27PM +0300, Alexey Brodkin wrote: > From: Chen Gang <gang.chen.5i5j@gmail.com> > > 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> Applied to u-boot/master, thanks!
diff --git a/arch/arc/include/asm/linkage.h b/arch/arc/include/asm/linkage.h new file mode 100644 index 0000000..2d1a603 --- /dev/null +++ b/arch/arc/include/asm/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 */ diff --git a/include/linux/linkage.h b/include/linux/linkage.h index 5797498..efb04ee 100644 --- a/include/linux/linkage.h +++ b/include/linux/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