]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
RTEMS: Add multilib configuration for aarch64
authorSebastian Huber <sebastian.huber@embedded-brains.de>
Mon, 25 Mar 2024 07:00:02 +0000 (08:00 +0100)
committerSebastian Huber <sebastian.huber@embedded-brains.de>
Wed, 17 Apr 2024 07:38:49 +0000 (09:38 +0200)
Add a multilib with workarounds for Cortex-A53 errata.

gcc/ChangeLog:

* config.gcc (aarch64-*-rtems*): Add target makefile fragment
t-aarch64-rtems.
* config/aarch64/t-aarch64-rtems: New file.

(cherry picked from commit ddee4376d15ddde9280c9a6725ddd76bf33f2871)

gcc/config.gcc
gcc/config/aarch64/t-aarch64-rtems [new file with mode: 0644]

index 648b3dc21103e43a315b676c827ff9e6d2923e11..c3b73d05eb7222ca46af5ac9613df7f736994f2f 100644 (file)
@@ -1139,6 +1139,7 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
                 ;;
        aarch64-*-rtems*)
                tm_file="${tm_file} aarch64/rtems.h rtems.h"
+               tmake_file="${tmake_file} aarch64/t-aarch64-rtems"
                ;;
        esac
        case $target in
diff --git a/gcc/config/aarch64/t-aarch64-rtems b/gcc/config/aarch64/t-aarch64-rtems
new file mode 100644 (file)
index 0000000..7598d63
--- /dev/null
@@ -0,0 +1,42 @@
+# Multilibs for aarch64 RTEMS targets.
+#
+# Copyright (C) 2024 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/>.
+
+MULTILIB_OPTIONS  =
+MULTILIB_DIRNAMES =
+MULTILIB_REQUIRED =
+
+MULTILIB_OPTIONS  += mabi=ilp32
+MULTILIB_DIRNAMES += ilp32
+
+MULTILIB_OPTIONS  += mno-outline-atomics
+MULTILIB_DIRNAMES += nooa
+
+MULTILIB_OPTIONS  += mcpu=cortex-a53
+MULTILIB_DIRNAMES += a53
+
+MULTILIB_OPTIONS  += mfix-cortex-a53-835769
+MULTILIB_DIRNAMES += fix835769
+
+MULTILIB_OPTIONS  += mfix-cortex-a53-843419
+MULTILIB_DIRNAMES += fix843419
+
+MULTILIB_REQUIRED += mabi=ilp32
+MULTILIB_REQUIRED += mabi=ilp32/mno-outline-atomics/mcpu=cortex-a53/mfix-cortex-a53-835769/mfix-cortex-a53-843419
+MULTILIB_REQUIRED += mno-outline-atomics/mcpu=cortex-a53/mfix-cortex-a53-835769/mfix-cortex-a53-843419