E:\Desktop\mingw-w64-mingw-w64>grep -nr MINGW64_VERSION_MAJOR .
(... omitted ...)
./mingw-w64-headers/crt/_mingw_mac.h:14:#define __MINGW64_VERSION_MAJOR 4

------------------                               
Best regards,
lh_mouse
2014-08-15

-------------------------------------------------------------
发件人:Vadim Chugunov <vadi...@gmail.com>
发送日期:2014-08-15 16:01
收件人:mingw-w64-public
抄送:
主题:[Mingw-w64-public] Slow pseudo-relocations

Hi,
I am trying to figure out the cause of a slow application startup, and the
evidence I have so far, points to mingw's _pei386_runtime_relocator()
routine as the culprit.   When I start my app under debugger, I see this
function calling VirtualProtect() about a zillion times in a row.

Looking at the source, I see that __pei386_runtime_relocator() is supposed
to change memory protection just once per executable section, but only if
__MINGW64_VERSION_MAJOR is defined at compilation time.  Otherwise,  it
reverts to changing protection once per relocation entry, for compatibility
(?).
Unfortunately, I don't see any headers included by pseudo-reloc.c that
would define this symbol.  And, indeed, the behavior I am seeing at runtime
indicates that if was not defined...

Am I reading this right?

Thanks!
Vadim

(mingw version = i686-4.9.0-win32-dwarf-rt_v3-rev2)

------------------------------------------------------------------------------

_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public




------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to