i86-linux -> pc-mingw32 linker doesn't work:(
jrm94
jrm94@its.canterbury.ac.nz
Thu Jun 29 18:10:00 GMT 2000
Hi,
I'm not sure if this should go here or to binutils, but I'll try here
first....
Sources:
gcc-2.95.2, binutils-2.9.5.037, and mingw32 bin-1999-07-31
./configure --target=i386-mingw32 --prefix=<...> \
--with-headers=<bin-.../include> --with-libs=<bin-.../lib>
The binutils and gcc compile, and create windows binaries, but
they are broken. I also downloaded someone's pre-compiled
cross-compiler (which works), and I think that it is the
linker causing the problems.
towai:/home/johnmcp/junk/testld$ file mywintest.exe
mywintest.exe: MS Windows PE Intel 80386 console executable
not relocatable
compared with
towai:/home/johnmcp/junk/testld$ file wintest.exe
wintest.exe: MS Windows PE 32-bit Intel 80386 console executable
not relocatable
(Note that my cross-compiler isn't making 32bit execs.)
In Windows, the import table is not correct (note that <E'>
should be an E-acute):
Import Table
MZE'
Ordinal Function Name
feff ZE'
0000
ffff ZE'
0000
1350 @
instead of:
Import Table
crtdll.dll
Ordinal Function Name
0064 _fmode_dll
...
KERNEL32.dll
Ordinal Function Name
007b ExitProcess
0279 SetUnhandledExceptionFilter
This looks suspiciously like the first couple of bytes of a
windows executable, which would mean the table has been
given an offset of zero.
As I said, I downloaded a working version, but it would be much
nicer if I could also build my own...
Any suggestions please?
Thanks
John McPherson
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
More information about the crossgcc
mailing list