"Dmitry Timoshkov" dmitry@baikal.ru writes:
"Alexandre Julliard" julliard@winehq.org wrote:
I'm not sure what you are trying to achieve here. If you want to load little-endian files on big-endian machines, you need to swap everything; swapping only the signature is not going to do any good.
My aim is to make winebuild generate a proper PE header for builtin DLLs and allow kernel32 to properly detect PE executables. Btw, that's what PSDK headers have.
Well, I'm not sure what Microsoft is trying to achieve here either...
It doesn't seem a very good idea to put a standard PE signature on big-endian files, since they are not valid PE files. The current approach makes it possible at some point to support loading little-endian PE files on big-endian machines (which I suspect is what Microsoft is trying to do with that define). If you swap the signature in builtins then you will have no way of knowing whether you need to swap the rest of the header.