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
