|
Message-ID: <CAH9TF6OOGhgSXRqdEM1qnhk-eUm2s6F5JYP5ZuS1hqCD8CbEMA@mail.gmail.com> Date: Sat, 26 Oct 2024 22:13:46 +0200 From: Alex Rønne Petersen <alex@...xrp.com> To: Rich Felker <dalias@...c.org> Cc: musl@...ts.openwall.com Subject: Re: [PATCH] mips: use `jr $ra` instead of `j $ra` to work around an LLVM assembler bug On Wed, Oct 23, 2024 at 12:58 AM Rich Felker <dalias@...c.org> wrote: > > On Wed, Sep 18, 2024 at 03:18:42AM +0200, Alex Rønne Petersen wrote: > > Details here: https://github.com/llvm/llvm-project/issues/107460 > > > > This patch works around the bug by just using the `jr $ra` form, which also more > > precisely indicates the encoding intent anyway. > > --- > > crt/mips/crtn.s | 4 ++-- > > crt/mips64/crtn.s | 4 ++-- > > 2 files changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/crt/mips/crtn.s b/crt/mips/crtn.s > > index 506a04b7..92eb3d0e 100644 > > --- a/crt/mips/crtn.s > > +++ b/crt/mips/crtn.s > > @@ -3,11 +3,11 @@ > > .section .init > > lw $gp,24($sp) > > lw $ra,28($sp) > > - j $ra > > + jr $ra > > addu $sp,$sp,32 > > > > .section .fini > > lw $gp,24($sp) > > lw $ra,28($sp) > > - j $ra > > + jr $ra > > addu $sp,$sp,32 > > diff --git a/crt/mips64/crtn.s b/crt/mips64/crtn.s > > index f3930b24..8f090ed3 100644 > > --- a/crt/mips64/crtn.s > > +++ b/crt/mips64/crtn.s > > @@ -3,11 +3,11 @@ > > .section .init > > ld $gp,16($sp) > > ld $ra,24($sp) > > - j $ra > > + jr $ra > > daddu $sp,$sp,32 > > > > .section .fini > > ld $gp,16($sp) > > ld $ra,24($sp) > > - j $ra > > + jr $ra > > daddu $sp,$sp,32 > > -- > > 2.40.1 > > Thanks. Applying this with the same applied to mipsn32 too. Oops, I'd completely forgotten to apply it there because we hadn't yet imported musl's mipsn32 code in Zig. Thanks!
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.