[rtems commit] leon: do not use -mfix-{device} with Clang

Daniel Hellstrom danielh at rtems.org
Tue Oct 9 10:37:53 UTC 2018


Module:    rtems
Branch:    master
Commit:    dc32b6aa0807fb70f9b26bc0bc6e164ddb49bd3a
Changeset: http://git.rtems.org/rtems/commit/?id=dc32b6aa0807fb70f9b26bc0bc6e164ddb49bd3a

Author:    Daniel Hellstrom <daniel at gaisler.com>
Date:      Fri Aug 31 08:21:05 2018 +0200

leon: do not use -mfix-{device} with Clang

Clang do not support -mfix-gr712rc, -mfix-ut700 and -mfix-ut699.
Therefore we adjust the CPU_CFLAGS to remove these when compiling with
Clang. Instead use
  GR712RC:      -mcpu=gr712rc
  GR740:        -mcpu=gr740
  UT699/UT700:  Not currently supported by clang, use LEON3 BSP.

---

 bsps/sparc/leon3/config/gr712rc.cfg |  7 ++++++-
 bsps/sparc/leon3/config/gr740.cfg   | 23 ++++++++++++++++++++++-
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/bsps/sparc/leon3/config/gr712rc.cfg b/bsps/sparc/leon3/config/gr712rc.cfg
index 897dd01..3852932 100644
--- a/bsps/sparc/leon3/config/gr712rc.cfg
+++ b/bsps/sparc/leon3/config/gr712rc.cfg
@@ -8,7 +8,12 @@ RTEMS_CPU=sparc
 
 #  This contains the compiler options necessary to select the CPU model
 #  and (hopefully) optimize for it.
-CPU_CFLAGS = -mcpu=leon3 -mfix-gr712rc
+#  GCC and clang use different switches to select target:
+ifneq (,$(findstring clang,$(CC)))
+  CPU_CFLAGS = -mcpu=gr712rc
+else
+  CPU_CFLAGS = -mcpu=leon3 -mfix-gr712rc
+endif
 
 # optimize flag: typically -O2
 CFLAGS_OPTIMIZE_V = -O2 -g
diff --git a/bsps/sparc/leon3/config/gr740.cfg b/bsps/sparc/leon3/config/gr740.cfg
index 86da029..640a4fd 100644
--- a/bsps/sparc/leon3/config/gr740.cfg
+++ b/bsps/sparc/leon3/config/gr740.cfg
@@ -1 +1,22 @@
-include $(RTEMS_ROOT)/make/custom/leon3.cfg
+#
+#  Config file for the LEON3 SPARC processor.
+#
+
+include $(RTEMS_ROOT)/make/custom/default.cfg
+
+RTEMS_CPU=sparc
+
+#  This contains the compiler options necessary to select the CPU model
+#  and (hopefully) optimize for it.
+#  GCC and clang use different switches to select target:
+ifneq (,$(findstring clang,$(CC)))
+  CPU_CFLAGS = -mcpu=gr740
+else
+  CPU_CFLAGS = -mcpu=leon3
+endif
+
+# optimize flag: typically -O2
+CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections




More information about the vc mailing list