> You're alignment is off on the line readinf .CRT$XCU SEGMENT > READONLY DWORD. > You need to set that to at least be ALIGN(8) I would think since x64 > is 8 byte, but the stack is supposed to be on 16 byte boundries, so in > mine, I run the configure, then do_win64a, then manually edit the > generated .asm file. This causes the program to crash on startup. in > msvcr100d.dll function initterm. You can clearly see the alignment is > off by pulling up a memory window and putting in pfbegin. You'll see > half the function pointer in one DQWORD, and part in another. Spent a > day trying to figure out what I was doing wrong in the build > process...
See http://rt.openssl.org/Ticket/Display.html?id=2620&user=guest&pass=guest. Even though it's addressed, it's believed that real culprit is not OpenSSL, but some other code that incorrectly adds 32-bit value to segment in question prior OpenSSL. When you say "half the function pointer in one QWORD, and part in another", question is what is just *before* the splitted pointer? Where does this value come from? Point is that there are more reasons to fix *that* code. I'm not saying that there is no reason to fix OpenSSL (it *was* fixed), I'm only saying that some other code must be even more wrong. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
