2014-10-25 2:53 GMT+02:00 dw :
>
>> Ups, that was unintended to send an empty mail :)
>
> I did wonder. I assumed it was just a ping.
>
>> So, here is a patch.
>
> Your patch does not look right. You have added the new checks using "||"?
Hmm, might be a typo.
>> It would be great if somebody co
So things are clear, dw please apply your patch. It is indeed better
to change flags - if possible - just once.
Thanks,
Kai
2014-10-25 6:01 GMT+02:00 Vadim Chugunov :
> I've tried both patches (fixed conditions in Kai's) and both eliminate
> extraneous calls to VirtualProtect. However Kai's pat
I've tried both patches (fixed conditions in Kai's) and both eliminate
extraneous calls to VirtualProtect. However Kai's patch did not seem to
affect startup performance at all. DW's patch, on the other hand, also
gets rid of VirtualQuery', and that cuts down the startup time of my test
example
> Ups, that was unintended to send an empty mail :)
I did wonder. I assumed it was just a ping.
> So, here is a patch.
Your patch does not look right. You have added the new checks using "||"?
> It would be great if somebody could verify that the reported
> issue is solved by it.
Yes, this
Ups, that was unintended to send an empty mail :) So, here is a
patch. It would be great if somebody could verify that the reported
issue is solved by it.
Kai
diff --git a/mingw-w64-crt/crt/pseudo-reloc.c b/mingw-w64-crt/crt/pseudo-reloc.c
index 4e7f31b..74ad6d1 100644
--- a/mingw-w64-crt/crt/p
--
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
I have created a fix for this, but I'm having trouble testing it. My
relocations always end up on pages marked PAGE_EXECUTE_READ. To see
Vadim's problem, I need PAGE_EXECUTE_WRITECOPY.
Vadim, can you provide any more context here? OS (W7? W8?), 32bit?
64bit? Using LoadLibrary? LoadLibrary
Well, I've done what I can to diagnose this. It's up to the mingw devs
from here.
dw
On 8/19/2014 1:04 PM, Vadim Chugunov wrote:
No, sorry, I don't have the setup to build mingw. Not likely that I
will have time to do it any time soon either.
I meant this as a bug report. I hope the problem
No, sorry, I don't have the setup to build mingw. Not likely that I will
have time to do it any time soon either.
I meant this as a bug report. I hope the problem has been investigated
sufficiently for mingw devs to act on it.
Vadim
On Mon, Aug 18, 2014 at 9:34 PM, dw wrote:
> Did you ever
So, it looks like what has happened is that newer OSs (ie >= Vista) set
the page protect to PAGE_EXECUTE_WRITECOPY when doing a LoadLibrary.
This is a (relatively) new flag and apparently Mingw still assumes the
old values are always in use.
There are 3 places in pseudo-reloc.c that do compar
Okay, I was wrong about __MINGW64_VERSION_MAJOR: it *was* defined.
What apparently happens is that the VirtualQuery() call that follows
mark_section_writable(), returns page protection status of 0x80
(PAGE_EXECUTE_WRITECOPY), which is unexpected by the relocator code, so it
falls back to calling V
-15
-
发件人:Vadim Chugunov
发送日期: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
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
13 matches
Mail list logo