> 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]

Reply via email to