From ddee4376d15ddde9280c9a6725ddd76bf33f2871 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 25 Mar 2024 08:00:02 +0100 Subject: [PATCH] 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. --- gcc/config.gcc | 1 + gcc/config/aarch64/t-aarch64-rtems | 42 ++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 gcc/config/aarch64/t-aarch64-rtems diff --git a/gcc/config.gcc b/gcc/config.gcc index 2e320dd26c5e..63a88bce4842 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 000000000000..7598d6361657 --- /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 +# . + +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 -- 2.47.2