[PATCH] linux: mips: Fix syscall_cancell build for __mips_isa_rev >= 6
Maciej W. Rozycki
macro@orcam.me.uk
Fri Sep 6 01:46:44 GMT 2024
On Mon, 2 Sep 2024, Adhemerval Zanella Netto wrote:
> > Use beqzc instead of bnel.
> >
> > Checked with a mipsisa64r6el-n64-linux-gnu build and some nptl
> > cancellation tests on qemu.
> The syscall_cancell is spelled wrongly, I will fit it.
It seems like you didn't after all. :(
> > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/syscall_cancel.S b/sysdeps/unix/sysv/linux/mips/mips64/syscall_cancel.S
> > index f172041324..cfc0596b6a 100644
> > --- a/sysdeps/unix/sysv/linux/mips/mips64/syscall_cancel.S
> > +++ b/sysdeps/unix/sysv/linux/mips/mips64/syscall_cancel.S
> > @@ -77,7 +77,11 @@ __syscall_cancel_arch_end:
> >
> > .set noreorder
> > .set nomacro
> > +#if __mips_isa_rev >= 6
> > + beqzc $7, 1f
> > +#else
> > bnel a3, zero, 1f
> > +#endif
> > SUBU v0, zero, v0
> > .set macro
> > .set reorder
Why $7 inconsistently rather than a3 as in the existing code? All the
remaining code uses ABI rather than raw register names.
NB `bnezl' could be used for consistency/readability, and likewise `negu'
rather than `SUBU' (why is it capitalised anyway?).
Maciej
More information about the Libc-alpha
mailing list