>> That sounded like it was in another asm file. But I didn't go >> through and check to see if the resoultion in that report was >> applied to all ASM other files. > >> 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 > 1. I'm not a perl guy,
Mosts relevant parts in #2620 are not perl specific. Namely failure to reproduce the problem, lack of understanding of how it actually happens, suggestion to submit map file. Though for non-static build map file would be required for libeay32.dll, not for openssl.exe. Also the additional flag for generating map file is not /m, but /map. > 3. I ran this through the debugger and upon stepped through found > each dll gets a seperate pointer to the segment. OpenSSL's was >64 > bytes of NULLs, followed by a misaligned pointer to > OPENSSL_cpuid_setup, followed by many more NULLs. The segment is collected from all the .obj, OpenSSL ones and those from .lib "participating" in link phase. Theory is that some of non-OpenSSL .obj files slips in 32-bit value, apparently 0 one. > I can give you > exact counts if you think it would help. map file (for failing configuration!) would be more useful. > The program was only also linked to the standard > windows libraries, Bug in "standard windows libraries" is not unthinkable. > Oh, other pertinent information, this was a debug build, so my C > flags relating to the C runtime and optimization included /MDd /Od > (Disabled) . Building in release mode actually worked fine. My > release mode flags relating to optimization were /MD /Ox /Ob2 /Oi /Ot > /Oy /GL. Tried /MDd with VS2010, works for me... > My suspicion is that /Ot, ignoring code size, aligns > everything on an 8/16 byte boundry for speed. No. /Ot [or any other optimization option for that matter] doesn't affect alignment of data in segment in question. The only possible source if specific .lib. Choice of lib in turn is affected by some compilation flags, e.g. /MD vs. /MDd. > 4. I don't really understand the logic of wanting to specify an > alignment less than processor word size. Original reason for DWORD alignment is discussed in #2620. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
