Re: [PATCH] tools/nolibc: x86: Remove `r8`, `r9` and `r10` from the clobber list
From: Ammar Faizi
Date: Thu Oct 14 2021 - 04:49:06 EST
On Wed, Oct 13, 2021 at 11:52 PM Borislav Petkov <bp@xxxxxxxxx> wrote:
>
> On Wed, Oct 13, 2021 at 06:30:23PM +0200, Willy Tarreau wrote:
> > Hello Michael,
> >
> > On Wed, Oct 13, 2021 at 04:24:28PM +0000, Michael Matz wrote:
> > (...)
> > > In short: Ammars initial claim:
> > >
> > > > Linux x86-64 syscall only clobbers rax, rcx and r11 (and "memory").
> > > >
> > > > - rax for the return value.
> > > > - rcx to save the return address.
> > > > - r11 to save the rflags.
> > > >
> > > > Other registers are preserved.
> > >
> > > is accurate and I will clarify the psABI to make that explicit.
> >
> > Many thanks for this very detailed explanation! Ammar, I'll take your
> > patch.
Thanks all.
>
> Great, why are we dealing with some funky document when the law is in
> glibc sources?!
>
> :-)))
>
> Ammar, if you wanna fixup the comment in entry_64.S too - make sure you
> explain that glibc expects argument registers to be restored - I'll take
> that patch too.
>
> :-)
Yay! I will send a patch for it, on this or next week.
>
> Thx, that was fun.
>
--
Ammar Faizi