Re: [PATCH] tools/nolibc: x86: Remove `r8`, `r9` and `r10` from the clobber list

From: Borislav Petkov
Date: Wed Oct 13 2021 - 12:52:26 EST


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.

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.

:-)

Thx, that was fun.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette