]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
config.gcc: Add aarch64-*-rtems*.
authorJoel Sherrill <joel@rtems.org>
Fri, 26 Feb 2016 19:59:55 +0000 (19:59 +0000)
committerJoel Sherrill <joel@gcc.gnu.org>
Fri, 26 Feb 2016 19:59:55 +0000 (19:59 +0000)
2016-02-26  Joel Sherrill <joel@rtems.org>

* config.gcc: Add aarch64-*-rtems*.
* gcc/config/aarch64/rtems.h: New file.

From-SVN: r233760

gcc/ChangeLog
gcc/config.gcc
gcc/config/aarch64/rtems.h [new file with mode: 0644]

index 89f483c85dcfe5306ad91909714fdec913c7c2f2..0a774b0b6b19acd3074ac687eb75fa071200b339 100644 (file)
@@ -1,3 +1,8 @@
+2016-02-26  Joel Sherrill <joel@rtems.org>
+
+       * config.gcc: Add aarch64-*-rtems*.
+       * gcc/config/aarch64/rtems.h: New file.
+
 2016-02-26  Segher Boessenkool  <segher@kernel.crashing.org>
 
        PR target/69946
index e26742ed616bf3109280079a05820bda49993eda..3b280e05e70acd244f6fdf7fe926efe112147863 100644 (file)
@@ -906,11 +906,18 @@ case ${target} in
 esac
 
 case ${target} in
-aarch64*-*-elf)
+aarch64*-*-elf | aarch64*-*-rtems*)
        tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
        tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
        tmake_file="${tmake_file} aarch64/t-aarch64"
-       use_gcc_stdint=wrap
+       case $target in
+       aarch64-*-elf*)
+               use_gcc_stdint=wrap
+               ;;
+       aarch64-*-rtems*)
+               tm_file="${tm_file} rtems.h aarch64/rtems.h"
+               ;;
+       esac
        case $target in
        aarch64_be-*)
                tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
diff --git a/gcc/config/aarch64/rtems.h b/gcc/config/aarch64/rtems.h
new file mode 100644 (file)
index 0000000..a166034
--- /dev/null
@@ -0,0 +1,28 @@
+/* Definitions for RTEMS based AARCH64 system.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+   This file is part of GCC.
+   GCC is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3, or (at your
+   option) any later version.
+   GCC is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+   You should have received a copy of the GNU General Public License
+   along with GCC; see the file COPYING3.  If not see
+   <http://www.gnu.org/licenses/>.  */
+
+#define HAS_INIT_SECTION
+
+#undef TARGET_OS_CPP_BUILTINS
+#define TARGET_OS_CPP_BUILTINS()               \
+    do {                                       \
+       builtin_define ("__rtems__");           \
+       builtin_define ("__USE_INIT_FINI__");   \
+       builtin_assert ("system=rtems");        \
+    } while (0)