[prev in list] [next in list] [prev in thread] [next in thread] 

List:       musl
Subject:    Re: [musl] [PATCH] mips: fix setjmp/longjmp for O32 FP64 ABI
From:       Rich Felker <dalias () libc ! org>
Date:       2018-11-14 16:10:12
Message-ID: 20181114161012.GJ5150 () brightrain ! aerifal ! cx
[Download RAW message or body]

On Wed, Nov 14, 2018 at 01:37:16PM +0300, info@mobile-stream.com wrote:
> Save/restore six double-precision callee-saved registers as
> described in sections 9 and 12.1 at [1].
> 
> This intentionally touches only the O32 FP64 case (-mfp64
> -modd-spreg) and changes nothing for FP32 (-mfp32), FPXX (-mfpxx) or
> FP64A (-mfp64 -mno-odd-spreg).
> 
> The s.d/l.d instruction aliases are not used because
> - they are not implemented in llvm/clang before 4.0 at all;
> - they do not expand to swc1/lwc1 pairs for e.g. -mips1 with llvm/clang 5.0.1 at least.
> 
> [1] https://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking

This patch needs more explanation for consideration. I could probably
figure it out from the above link but that's a lot of reading, and a
TL;DR would be really helpful here. If the patch to solve an existing
problem with some supported ABI or is it adding a new ABI? If the
latter, is it mutually compatible for the purposes of calling/linkage?
New ABIs can't just be added without both a name and a justification.

Rich
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic