summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-27 07:14:42 +0000
committerSebastian Huber <sh@gcc.gnu.org>2016-04-27 07:14:42 +0000
commitc47194d2ab2e3ce6c760ea44de3ec00bf18976ee (patch)
tree6b59812c3fdcb399dee51a909b909f0521a90d7d
parent727cbedf8b21e38a47da66c400d51a30d3a64c33 (diff)
[libatomic] Add RTEMS support
gcc/ * config/rtems.h (LIB_SPEC): Add -latomic. libatomic/ * configure.tgt (configure_tgt_pre_target_cpu_XCFLAGS): New variable. (*-*-rtems*): New supported target. * config/rtems/host-config.h: New file. * config/rtems/lock.c: Likewise. From-SVN: r235466
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/rtems.h2
-rw-r--r--libatomic/ChangeLog7
-rw-r--r--libatomic/configure.tgt10
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 75367cbd9ce..245c929839e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/rtems.h (LIB_SPEC): Add -latomic.
+
2016-04-27 Joel Sherrill <joel@rtems.org>
* config/microblaze/rtems.h: Redefine LINK_SPEC to avoid
diff --git a/gcc/config/rtems.h b/gcc/config/rtems.h
index f13f72fd17c..e005547fd9b 100644
--- a/gcc/config/rtems.h
+++ b/gcc/config/rtems.h
@@ -45,6 +45,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIB_SPEC "%{!qrtems: " STD_LIB_SPEC "} " \
"%{!nostdlib: %{qrtems: --start-group \
-lrtemsbsp -lrtemscpu \
- -lc -lgcc --end-group %{!qnolinkcmds: -T linkcmds%s}}}"
+ -latomic -lc -lgcc --end-group %{!qnolinkcmds: -T linkcmds%s}}}"
#define TARGET_POSIX_IO
diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog
index 7fc60c22085..9f56a1baf2a 100644
--- a/libatomic/ChangeLog
+++ b/libatomic/ChangeLog
@@ -1,3 +1,10 @@
+2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * configure.tgt (configure_tgt_pre_target_cpu_XCFLAGS): New variable.
+ (*-*-rtems*): New supported target.
+ * config/rtems/host-config.h: New file.
+ * config/rtems/lock.c: Likewise.
+
2016-04-25 H.J. Lu <hongjiu.lu@intel.com>
PR target/70454
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index c5470d7ef8c..eab2765d7fd 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -26,6 +26,10 @@
# Map the target cpu to an ARCH sub-directory. At the same time,
# work out any special compilation flags as necessary.
+# Give operating systems the opportunity to discard XCFLAGS modifications based
+# on ${target_cpu}. For example to allow proper use of multilibs.
+configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+
case "${target_cpu}" in
alpha*)
# fenv.c needs this option to generate inexact exceptions.
@@ -128,6 +132,12 @@ case "${target}" in
;;
esac
;;
+
+ *-*-rtems*)
+ XCFLAGS="${configure_tgt_pre_target_cpu_XCFLAGS}"
+ config_path="rtems"
+ ;;
+
*-*-elf*)
# ??? No target OS. We could be targeting bare-metal kernel-mode,
# or user-mode for some custom OS. If the target supports TAS,