[gcc r16-7231] testsuite: riscv: pr110812_*.c needs medany on rv32
Alexandre Oliva
aoliva@gcc.gnu.org
Sun Feb 1 08:46:44 GMT 2026
https://gcc.gnu.org/g:465815ffe36ba8f71649d7a541a864ebeb05ff6e
commit r16-7231-g465815ffe36ba8f71649d7a541a864ebeb05ff6e
Author: Alexandre Oliva <oliva@adacore.com>
Date: Sun Feb 1 04:35:56 2026 -0300
testsuite: riscv: pr110812_*.c needs medany on rv32
When linking the pr110812 units with lto after compiling them with a
riscv(32?) compiler that defaults to the medlow code model, the
compiler uses HI20 relocations that overflow with our linker scripts.
I suppose the test expects PC-relative relocations for symbol
resolution, as in the medany code model, so select that explicitly.
for gcc/testsuite/ChangeLog
* gcc.target/riscv/lto/pr110812_0.c: Set cmodel explicitly.
* gcc.target/riscv/lto/pr110812_1.c: Likewise.
Diff:
---
gcc/testsuite/gcc.target/riscv/lto/pr110812_0.c | 2 +-
gcc/testsuite/gcc.target/riscv/lto/pr110812_1.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/testsuite/gcc.target/riscv/lto/pr110812_0.c b/gcc/testsuite/gcc.target/riscv/lto/pr110812_0.c
index a2f70928b162..ab745e5ffec3 100644
--- a/gcc/testsuite/gcc.target/riscv/lto/pr110812_0.c
+++ b/gcc/testsuite/gcc.target/riscv/lto/pr110812_0.c
@@ -1,5 +1,5 @@
/* { dg-lto-do link } */
-/* { dg-lto-options { { -flto -march=rv64gc -mabi=lp64d } } } */
+/* { dg-lto-options { { -flto -march=rv64gc -mabi=lp64d -mcmodel=medany } } } */
/* { dg-extra-ld-options "-nostdlib" } */
void foo();
diff --git a/gcc/testsuite/gcc.target/riscv/lto/pr110812_1.c b/gcc/testsuite/gcc.target/riscv/lto/pr110812_1.c
index 34d7cbbbcbbb..a84f92c6627d 100644
--- a/gcc/testsuite/gcc.target/riscv/lto/pr110812_1.c
+++ b/gcc/testsuite/gcc.target/riscv/lto/pr110812_1.c
@@ -1,4 +1,4 @@
-/* { dg-options { -flto -march=rv64gcv -mabi=lp64d } } */
+/* { dg-options { -flto -march=rv64gcv -mabi=lp64d -mcmodel=medany } } */
#include "riscv_vector.h"
uint8_t *x, *y;
More information about the Gcc-cvs
mailing list