Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 May 2004 14:31:39 +0200 (CEST)
From:      marcov@stack.nl (Marco van de Voort)
To:        Marco van de Voort <marcov@stack.nl>
Cc:        freebsd-amd64@freebsd.org
Subject:   Re: ABI question, porting ports to amd64
Message-ID:  <20040516123139.79BC594@toad.stack.nl>
In-Reply-To: <20040515231954.4594F93@toad.stack.nl> "from Marco van de Voort at May 16, 2004 01:19:54 am"

next in thread | previous in thread | raw e-mail | index | archive | help
> I read the ABI info on x86-64.org, and objdumped some linux and freebsd
> code, and I ran into a linux<->freebsd difference something I can't figure
> out:

Answering my own question:

FreeBSD uses the gcc mechanism to build the same parameterlist for a syscall
like for a normal procedure. (to avoid having to shift params)

The register for the 4th parameter for gcc is %rcx, for the kernel it is
%r10. So gcc puts the 4th param in %rcx, and the move moves it to %r10 for
the kernel.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040516123139.79BC594>