lkml.org 
[lkml]   [2021]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] tools/nolibc: x86: Remove `r8`, `r9` and `r10` from the clobber list
On Tue, Oct 12, 2021 at 10:29:55PM +0200, Borislav Petkov wrote:
> On Tue, Oct 12, 2021 at 11:06:38AM +0200, Willy Tarreau wrote:
> > Let's indeed wait for any of the x86 maintainers to confirm your
> > analysis.
>
> I guess the official doc you guys are looking for is the x86-64 ABI:
>
> https://gitlab.com/x86-psABIs/x86-64-ABI/
>
> and recent pdfs are here:
>
> https://gitlab.com/x86-psABIs/x86-64-ABI/-/wikis/x86-64-psABI
>
> and there you scroll to
>
> "A.2 AMD64 Linux Kernel Conventions
>
> ...
>
> A.2.1 Calling Conventions"
>
> and that section explains which regs go where.

Ok, that didn't point to the exact answer - I realize now. I believe
what you're looking for in that doc is "Figure 3.4: Register Usage"
which has a column "callee saved" and says that the syscall arg
registers are all not callee-saved.

And I think that table is valid for the kernel too because the link
to it says "The Linux AMD64 kernel uses internally the same calling
conventions as user-level applications (see section 3.2.3 for details)."

HTH.

--
Regards/Gruss,
Boris.

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

\
 
 \ /
  Last update: 2021-10-12 23:53    [W:0.132 / U:1.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site