x86_64-pc-mingw32

Rupert Wood me@rupey.net
Fri Mar 2 10:12:00 GMT 2007


funchlady wrote:

> I built a cross compiler, i.e., x86_64-pc-mingw32-gcc (release
> 4.1.2, I modified ASM when necessary) on a x86_64-linux, and then I
> applied x86_64-pc-mingw32-gcc to generate binaries of w32api (3.8)
> and mingw-runtime (3.11, I modified ASM when necessary).

If you're trying to port mingw to x86_64 you should probably talk to this guy

    http://gcc.gnu.org/ml/gcc/2007-02/msg00545.html

if you haven't already.

At first glance the problem is that export symbols in the .def files are wrong when you're compiling 64-bit - they're hard-coded with the argument length (as per stdcall) for 32-bit pointers. There's a further problem in that the w32api headers are missing some uses of DWORD_PTR so they won't compile correctly for 64-bit anyway or at least some of the structures will be wrong. I guess you'll need to fix all of this: you'll have to audit the headers against Microsoft's own platform SDK

    http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

(old link but redirects to the newer, much longer one) for LONG_PTR, ULONG_PTR and DWORD_PTR - and possibly some more similar types, I can't remember - rebuild w32api and then check the symbols in the .a files against the .def files to see which ones you'll need to edit for 64-bit.

Or you could try Microsoft's own 64-bit import libraries from the platform SDK download: it is a free download but might be awkward to extract if you don't have a Windows machine handy: I can't swear that Microsoft's .libs are compatible with mingw's linker, but I can't think of a good reason why not.

Good luck!
Rup.



______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________



More information about the Gcc-help mailing list