07.11.2014 17:01, Pierre Free Pascal пишет:
The is no COFF magic.
the first 2 bytes indicate normally a MACHINE type.
The files I produced start etiher by:
0x8664 indicating a x86 coff header
or
0x014c indicating a i386 coff header.
Nevertheless,
0x0000 is also listed as IMAGE_FILE_MACHINE_UNKNOWN
Could it be that your coff object only contains raw data,
so that it is usable on different formats?
After some searching, I think that the
answer to your problem is here:
http://llvm.org/docs/doxygen/html/structllvm_1_1COFF_1_1BigObjHeader.html
Your header looks like a BigObjHeader
This means that the object is prepared to handle relocation that are not in
the 4-byte
range... A feature that Free Pascal indeed does not support IIRC...
There is probably an option somewhere to use normal 32-bit relocation type
objects in you Visual C++ configuration, unless you really need those 64-bit
relocations...
Even if this issue is resolved, linking together binutils-compatible and VC-compatible COFF files is
next to impossible, due to significant differences in processing of COMDAT sections, debug
information, section naming, etc.
Sergei
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel