From c47194d2ab2e3ce6c760ea44de3ec00bf18976ee Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 27 Apr 2016 07:14:42 +0000 Subject: [PATCH] [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 --- gcc/ChangeLog | 4 ++++ gcc/config/rtems.h | 2 +- libatomic/ChangeLog | 7 +++++++ libatomic/configure.tgt | 10 ++++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) 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 + + * config/rtems.h (LIB_SPEC): Add -latomic. + 2016-04-27 Joel Sherrill * 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 + + * 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 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,