This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ffcall


On Feb 18 13:28, Yaakov Selkowitz wrote:
> On Wed, 2015-02-18 at 13:49 -0500, Ken Brown wrote:
> > I've been trying to adopt Reini's packages that have not yet been ported to 
> > 64-bit Cygwin and that have some connection to packages I already maintain.  The 
> > next one on my list is ffcall.
> 
> I'm guessing this is for clisp?  (In Fedora, clisp is the only package
> which BR: ffcall).
> 
> > Unfortunately, the source has a lot of assembler code in it, so I will almost 
> > certainly need help from someone well versed in x86_64 assembly language.  And 
> > the libffcall project appears to be dead upstream, so I'm not going to get help 
> > there. 
> 
> Unless you can find a patch somewhere for Win64 support.
> 
> > I have no idea how hard this will be.  The code has been ported to x86_64 Linux, 
> > so there's at least a starting point.

What is ffcall doing?  What functions does it call?

Help with basic x86_64 assembler is ok, I did it for Cygwin with help
from Kai Tietz.

The main difference to Linux you have to look out for is the different
calling convention and how the registers are used:
http://en.wikipedia.org/wiki/X86_calling_conventions#Microsoft_x64_calling_convention

So the job is typically to rearrange the register usage and to
account for the only four registers used for the first arguments
to a function, rather than the 6 registers in the SYSV ABI.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgptWe9j0YEiS.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]