Skip to content

Commit

Permalink
gcc: update multilibs for RISC-V
Browse files Browse the repository at this point in the history
We now have the following multilibs for RISC-V:

rv32ima (default)
rv32im
rv32imac
rv32imafc
rv32imafd
rv64imac
rv64imafdc
rv64imafd
rv64imac, mcmodel=medany
rv64imafdc, mcmodel=medany
rv64imafd, mcmodel=medany

Multilib description generated by multilib-generator. Added
mcmodel=medany manually.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
  • Loading branch information
tbr-tt authored and galak committed Dec 16, 2020
1 parent 574e494 commit 913d506
Showing 1 changed file with 90 additions and 0 deletions.
90 changes: 90 additions & 0 deletions patches/gcc/10.2.0/0018-RISC-V-update-multilibs.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
From cadc173e08dae25cf37c90eb8bf8b2bdcc118119 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20=C3=85berg?= <martin.aberg@gaisler.com>
Date: Tue, 15 Dec 2020 08:40:21 +0100
Subject: [PATCH] RISC-V: update multilibs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We now have the following multilibs for RISC-V:

rv32ima (default)
rv32im
rv32imac
rv32imafc
rv32imafd
rv64imac
rv64imafdc
rv64imafd
rv64imac, mcmodel=medany
rv64imafdc, mcmodel=medany
rv64imafd, mcmodel=medany

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
---
gcc/config.gcc | 3 +++
gcc/config/riscv/t-zephyr | 38 ++++++++++++++++++++++++++++++++++++++
2 files changed, 41 insertions(+)
create mode 100644 gcc/config/riscv/t-zephyr

diff --git a/gcc/config.gcc b/gcc/config.gcc
index 96a17f7eacb..431015c682a 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2445,6 +2445,9 @@ riscv*-*-linux*)
riscv*-*-elf* | riscv*-*-rtems*)
tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h"
case ${target} in
+ *-zephyr*)
+ tmake_file="${tmake_file} riscv/t-zephyr"
+ ;;
*-*-rtems*)
tm_file="${tm_file} rtems.h riscv/rtems.h"
tmake_file="${tmake_file} riscv/t-rtems"
diff --git a/gcc/config/riscv/t-zephyr b/gcc/config/riscv/t-zephyr
new file mode 100644
index 00000000000..2dead4d3b2a
--- /dev/null
+++ b/gcc/config/riscv/t-zephyr
@@ -0,0 +1,38 @@
+# This file was generated by multilib-generator with the command:
+# ./multilib-generator rv32im-ilp32--c rv32imac-ilp32-- rv32imafc-ilp32f-- rv32imafd-ilp32d--c rv64imac-lp64-- rv64imafdc-lp64d-- rv64imafd-lp64d--
+MULTILIB_OPTIONS = march=rv32im/march=rv32imc/march=rv32imac/march=rv32imafc/march=rv32imafd/march=rv32imafdc/march=rv32g/march=rv32gc/march=rv64imac/march=rv64imafdc/march=rv64gc/march=rv64imafd/march=rv64g mabi=ilp32/mabi=ilp32f/mabi=ilp32d/mabi=lp64/mabi=lp64d
+MULTILIB_DIRNAMES = rv32im \
+rv32imc \
+rv32imac \
+rv32imafc \
+rv32imafd \
+rv32imafdc \
+rv32g \
+rv32gc \
+rv64imac \
+rv64imafdc \
+rv64gc \
+rv64imafd \
+rv64g ilp32 \
+ilp32f \
+ilp32d \
+lp64 \
+lp64d
+MULTILIB_OPTIONS += mcmodel=medany
+MULTILIB_DIRNAMES += medany
+MULTILIB_REQUIRED = march=rv32im/mabi=ilp32 \
+march=rv32imac/mabi=ilp32 \
+march=rv32imafc/mabi=ilp32f \
+march=rv32imafd/mabi=ilp32d \
+march=rv64imac/mabi=lp64 \
+march=rv64imafdc/mabi=lp64d \
+march=rv64imafd/mabi=lp64d \
+march=rv64imac/mabi=lp64/mcmodel=medany \
+march=rv64imafdc/mabi=lp64d/mcmodel=medany \
+march=rv64imafd/mabi=lp64d/mcmodel=medany
+MULTILIB_REUSE = march.rv32im/mabi.ilp32=march.rv32imc/mabi.ilp32 \
+march.rv32imafd/mabi.ilp32d=march.rv32imafdc/mabi.ilp32d \
+march.rv32imafd/mabi.ilp32d=march.rv32g/mabi.ilp32d \
+march.rv32imafd/mabi.ilp32d=march.rv32gc/mabi.ilp32d \
+march.rv64imafdc/mabi.lp64d=march.rv64gc/mabi.lp64d \
+march.rv64imafd/mabi.lp64d=march.rv64g/mabi.lp64d
--
2.11.0

0 comments on commit 913d506

Please sign in to comment.