RISC-V: Document -mcmodel=large

Message ID 20231220180836.24936-1-palmer@rivosinc.com
State Accepted
Headers
Series RISC-V: Document -mcmodel=large |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Palmer Dabbelt Dec. 20, 2023, 6:08 p.m. UTC
  This slipped through the cracks.  Probably also NEWS-worthy.

gcc/ChangeLog:

	* doc/invoke.texi (RISC-V): Add -mcmodel=large.
---
 gcc/doc/invoke.texi | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
  

Comments

Jeff Law Dec. 20, 2023, 6:13 p.m. UTC | #1
On 12/20/23 11:08, Palmer Dabbelt wrote:
> This slipped through the cracks.  Probably also NEWS-worthy.
> 
> gcc/ChangeLog:
> 
> 	* doc/invoke.texi (RISC-V): Add -mcmodel=large.
OK.

And yes, I think we're going to need to to a new/changes update for the 
port as a whole as part of the gcc-14 process.

jeff
  
Palmer Dabbelt Dec. 20, 2023, 6:23 p.m. UTC | #2
On Wed, 20 Dec 2023 10:13:06 PST (-0800), jeffreyalaw@gmail.com wrote:
>
>
> On 12/20/23 11:08, Palmer Dabbelt wrote:
>> This slipped through the cracks.  Probably also NEWS-worthy.
>>
>> gcc/ChangeLog:
>>
>> 	* doc/invoke.texi (RISC-V): Add -mcmodel=large.
> OK.
>
> And yes, I think we're going to need to to a new/changes update for the
> port as a whole as part of the gcc-14 process.

Sent.  Looks like we had no NEWS for 14, so we'll need to deal with 
that.  If nobody else does I'll scrub the history, but I need to deal 
with binutils, glibc, and Linux first...

>
> jeff
  

Patch

diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 5af978b0a67..d8b355627d9 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1245,7 +1245,7 @@  See RS/6000 and PowerPC Options.
 -msave-restore  -mno-save-restore
 -mshorten-memrefs  -mno-shorten-memrefs
 -mstrict-align  -mno-strict-align
--mcmodel=medlow  -mcmodel=medany
+-mcmodel=medlow  -mcmodel=medany -mcmodel=large
 -mexplicit-relocs  -mno-explicit-relocs
 -mrelax  -mno-relax
 -mriscv-attribute  -mno-riscv-attribute
@@ -30158,6 +30158,11 @@  The code generated by the medium-any code model is position-independent, but is
 not guaranteed to function correctly when linked into position-independent
 executables or libraries.
 
+@opindex -mcmodel=large
+@item -mcmodel=large
+Generate code for a large code model, which has no restrictions on size or
+placement of symbols.
+
 @item -mexplicit-relocs
 @itemx -mno-exlicit-relocs
 Use or do not use assembler relocation operators when dealing with symbolic