summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Hansen <jacob.hansen@gaisler.com>2016-10-31 11:01:39 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2017-05-14 12:32:01 +0200
commitbc470d3c49f25e647f8b250ce4a8e28ab60f3376 (patch)
treee3705d07cfa763830a2b2004b3db73f10e4f9e03
parentsparc: Adjust assembly to improve compability with LLVM (diff)
downloadrtems-bc470d3c49f25e647f8b250ce4a8e28ab60f3376.tar.bz2
sparc: only define start if it is different from SYM(start)
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.
-rw-r--r--c/src/lib/libbsp/sparc/shared/start/start.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/start/start.S b/c/src/lib/libbsp/sparc/shared/start/start.S
index d9044b2130..3b9f841223 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