[PATCH 31/32] sparc: only define start if it is different from SYM(start)

Daniel Hellstrom daniel at gaisler.com
Thu May 11 14:26:16 UTC 2017


From: Jacob Hansen <jacob.hansen at gaisler.com>

The SYM define concatenates the input with the compiler set
__USER_LABEL_PREFIX__ define. This define appears to be '_' in GCC but
empty in Clang. Therefore when compiling with Clang/LLVM 'SYM(start)'
and 'start' defines the same symbol, and the compiler complains that the
symbol is defined twice.
---
 c/src/lib/libbsp/sparc/shared/start/start.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/c/src/lib/libbsp/sparc/shared/start/start.S b/c/src/lib/libbsp/sparc/shared/start/start.S
index d9044b2..3b9f841 100644
--- a/c/src/lib/libbsp/sparc/shared/start/start.S
+++ b/c/src/lib/libbsp/sparc/shared/start/start.S
@@ -79,7 +79,9 @@
   .global start, __bsp_mem_init
 
 SYM(start):
+#if SYM(start) != start
 start:
+#endif 
 
 /*
  *  The trap table has to be the first code in a boot PROM.  But because
-- 
2.7.4




More information about the devel mailing list