diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2024-03-25 08:00:02 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2024-04-09 08:25:37 +0200 |
commit | ddee4376d15ddde9280c9a6725ddd76bf33f2871 (patch) | |
tree | cbca9a5a5409e4cfbb57f1100713b42348c13b0e | |
parent | 481ba4fb5fce8257f5dbeb994dac2748c0237fa2 (diff) | |
download | gcc-ddee4376d15ddde9280c9a6725ddd76bf33f2871.zip gcc-ddee4376d15ddde9280c9a6725ddd76bf33f2871.tar.gz gcc-ddee4376d15ddde9280c9a6725ddd76bf33f2871.tar.bz2 |
RTEMS: Add multilib configuration for aarch64
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.
-rw-r--r-- | gcc/config.gcc | 1 | ||||
-rw-r--r-- | gcc/config/aarch64/t-aarch64-rtems | 42 |
2 files changed, 43 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 2e320dd..63a88bc 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1199,6 +1199,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 index 0000000..7598d63 --- /dev/null +++ b/gcc/config/aarch64/t-aarch64-rtems @@ -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 |