Skip to content

Commit 1e763ec

Browse files
committed
RISC-V: Build RV64 multilib with mcmodel=medany
This commit updates the Zephyr RISC-V multilib configurations to explicitly specify `mcmodel=medany` when building the RV64 multilibs because the GCC defaults to the `medlow` code model when the `mcmodel` flag is not specified. Note that the Zephyr build system builds the RV64 targets using the `medany` code model because Zephyr uses the "flat" memory model and the addressing capabilities of the `medlow` model is too limited for it. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
1 parent 0218469 commit 1e763ec

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

gcc/config/riscv/t-zephyr

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,11 @@ march=rv32e_zicsr_zifencei/mabi=ilp32e \
6464
march=rv32em_zicsr_zifencei/mabi=ilp32e \
6565
march=rv32emc_zicsr_zifencei/mabi=ilp32e \
6666
march=rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs/mabi=ilp32e \
67-
march=rv64i_zicsr_zifencei/mabi=lp64 \
68-
march=rv64im_zicsr_zifencei/mabi=lp64 \
69-
march=rv64im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi=lp64 \
70-
march=rv64imac_zicsr_zifencei/mabi=lp64 \
71-
march=rv64imac_zicsr_zifencei_zba_zbb_zbc_zbs/mabi=lp64 \
72-
march=rv64imafdc_zicsr_zifencei/mabi=lp64d \
73-
march=rv64imafd_zicsr_zifencei/mabi=lp64d \
67+
march=rv64i_zicsr_zifencei/mabi=lp64/mcmodel=medany \
68+
march=rv64im_zicsr_zifencei/mabi=lp64/mcmodel=medany \
69+
march=rv64im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi=lp64/mcmodel=medany \
7470
march=rv64imac_zicsr_zifencei/mabi=lp64/mcmodel=medany \
71+
march=rv64imac_zicsr_zifencei_zba_zbb_zbc_zbs/mabi=lp64/mcmodel=medany \
7572
march=rv64imafdc_zicsr_zifencei/mabi=lp64d/mcmodel=medany \
7673
march=rv64imafd_zicsr_zifencei/mabi=lp64d/mcmodel=medany
7774

@@ -94,15 +91,15 @@ march.rv32e_zicsr_zifencei/mabi.ilp32e=march.rv32ec_zicsr_zifencei/mabi.ilp32e \
9491
march.rv32em_zicsr_zifencei/mabi.ilp32e=march.rv32ema_zicsr_zifencei/mabi.ilp32e \
9592
march.rv32emc_zicsr_zifencei/mabi.ilp32e=march.rv32emac_zicsr_zifencei/mabi.ilp32e \
9693
march.rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32e=march.rv32emac_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32e \
97-
march.rv64i_zicsr_zifencei/mabi.lp64=march.rv64ia_zicsr_zifencei/mabi.lp64 \
98-
march.rv64i_zicsr_zifencei/mabi.lp64=march.rv64iac_zicsr_zifencei/mabi.lp64 \
99-
march.rv64i_zicsr_zifencei/mabi.lp64=march.rv64ic_zicsr_zifencei/mabi.lp64 \
100-
march.rv64im_zicsr_zifencei/mabi.lp64=march.rv64ima_zicsr_zifencei/mabi.lp64 \
101-
march.rv64im_zicsr_zifencei/mabi.lp64=march.rv64imc_zicsr_zifencei/mabi.lp64 \
102-
march.rv64im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64=march.rv64ima_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64 \
103-
march.rv64im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64=march.rv64imc_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64 \
104-
march.rv64imafdc_zicsr_zifencei/mabi.lp64d=march.rv64gc/mabi.lp64d \
105-
march.rv64imafd_zicsr_zifencei/mabi.lp64d=march.rv64g/mabi.lp64d
94+
march.rv64i_zicsr_zifencei/mabi.lp64/mcmodel.medany=march.rv64ia_zicsr_zifencei/mabi.lp64/mcmodel.medany \
95+
march.rv64i_zicsr_zifencei/mabi.lp64/mcmodel.medany=march.rv64iac_zicsr_zifencei/mabi.lp64/mcmodel.medany \
96+
march.rv64i_zicsr_zifencei/mabi.lp64/mcmodel.medany=march.rv64ic_zicsr_zifencei/mabi.lp64/mcmodel.medany \
97+
march.rv64im_zicsr_zifencei/mabi.lp64/mcmodel.medany=march.rv64ima_zicsr_zifencei/mabi.lp64/mcmodel.medany \
98+
march.rv64im_zicsr_zifencei/mabi.lp64/mcmodel.medany=march.rv64imc_zicsr_zifencei/mabi.lp64/mcmodel.medany \
99+
march.rv64im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64/mcmodel.medany=march.rv64ima_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64/mcmodel.medany \
100+
march.rv64im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64/mcmodel.medany=march.rv64imc_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64/mcmodel.medany \
101+
march.rv64imafdc_zicsr_zifencei/mabi.lp64d/mcmodel.medany=march.rv64gc/mabi.lp64d/mcmodel.medany \
102+
march.rv64imafd_zicsr_zifencei/mabi.lp64d/mcmodel.medany=march.rv64g/mabi.lp64d/mcmodel.medany
106103

107104
# Automatically generate multilib options and directory names from the target configurations
108105
space := $(subst ,, )

0 commit comments

Comments
 (0)