On Friday, March 20th, 2026 at 10:44 AM, Trevor Gamblin <[email protected]> wrote: > From: Jason Montleon <[email protected]> > > Upstream-Status: Submitted [https://savannah.gnu.org/bugs/?65909] > > Signed-off-by: Jason Montleon <[email protected]> > Signed-off-by: Trevor Gamblin <[email protected]> > --- > We have recently added this to the openembedded-core layer to help with RISC-V > builds on certain platforms (e.g. the VisionFive 2). I have left the patch as > it > is there, including the link to the original bug submission and the author's > attribution. Jason, if you would like to change the attribution or anything > about the patch, let me know and I can re-submit. Hi Trevor, Fedora is still using this patch and it is working for us. https://src.fedoraproject.org/rpms/grub2/blob/rawhide/f/0283-Use-medany-instead-of-large-model-for-RISCV.patch I did want to share that we revisited building with large model and managed to get it to build. This resulted in a smaller binary with far fewer relocations. That work is at http://fedora.riscv.rocks:3000/rpms/grub2/commits/branch/main-riscv64-large-code I am not sure if one approach would be preferred over the other. > configure.ac | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/configure.ac b/configure.ac > index d19fb625d..2a070c577 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -1675,7 +1675,7 @@ fi] > > CFLAGS="$TARGET_CFLAGS" > > -if test "$target_cpu" = x86_64 || test "$target_cpu" = sparc64 || test > "$target_cpu" = riscv64 ; then > +if test "$target_cpu" = x86_64 || test "$target_cpu" = sparc64 ; then > # Use large model to support 4G memory > AC_CACHE_CHECK([whether option -mcmodel=large works], grub_cv_cc_mcmodel, [ > CFLAGS="$TARGET_CFLAGS -mcmodel=large" > @@ -1685,9 +1685,11 @@ if test "$target_cpu" = x86_64 || test "$target_cpu" = > sparc64 || test "$target_ > ]) > if test "x$grub_cv_cc_mcmodel" = xyes; then > TARGET_CFLAGS="$TARGET_CFLAGS -mcmodel=large" > - elif test "$target_cpu" = sparc64 || test "$target_cpu" = riscv64; then > + elif test "$target_cpu" = sparc64; then > TARGET_CFLAGS="$TARGET_CFLAGS -mcmodel=medany" > fi > +elif test "$target_cpu" = riscv64 ; then > + TARGET_CFLAGS="$TARGET_CFLAGS -mcmodel=medany" > fi > > # Stack smashing protector. > -- > 2.53.0 > > _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH] Use medany instead of large model for RISCV
Jason Montleon via Grub-devel Fri, 20 Mar 2026 11:49:00 -0700
- [PATCH] Use medany instead of large model fo... Trevor Gamblin
- Re: [PATCH] Use medany instead of large... Jason Montleon via Grub-devel
- Re: [PATCH] Use medany instead of l... Vladimir 'phcoder' Serbinenko
- Re: [PATCH] Use medany instead of large... Yao Zi via Grub-devel
- Re: [PATCH] Use medany instead of l... Trevor Gamblin
