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: [HEADSUP] Please try to build your packages for 64 bit


Hi Achim,

On Apr 19 20:59, Achim Gratz wrote:
> Corinna Vinschen writes:
> > Strange that nobody did it so far.
> 
> If it's any consolation, no 64bit formats are supported, not just PE+.
> Somebody's been rumoured to have worked (and then stopped working) on
> x86_64 support, but I haven't found any traces of actual code yet.

There is x86_64 (aka AMD64) support in upx, just only for Linux and
Mac OS X so far.

> >  It should be rather trivial, actually.  The only noticable difference
> > between PE and PE+ are a few different values in some of the header
> > fields and the slightly different layout of the IMAGE_OPTIONAL_HEADER
> > structure.
> 
> OK, I'll tack it onto my todo list and see when I get to that.  It would
> really be nice if setup64.exe wouldn't be as large as it currently is.
> 
> > I don't know how upx works under the hood, but I assume you also need
> > the unpacker code in 64 bit.  If it's not written in assembler, the
> > 32 bit code should more or less do the right thing already.
> 
> The initial unpacker stub is in assembler indeed, I haven't looked at it
> in any detail.  However, I expect it either just works as is or it's
> over my head anyway.

The 32 bit Windows assembler stub uses an assembler coding I'm not
familiar with, but it looks not overly complicated.  If you know the MS
x64 ABI(*), I'd assume that you could get this working in a couple of
days, given the otherwise identical API.  Just the strange assembler
code layout puzzles me.


Corinna

(*) http://en.wikipedia.org/wiki/X86_calling_convention#Microsoft_x64_calling_convention

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


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