pseudo-reloc.c is responsible for The slow startup of program with its inefficient implementation of __write_memory.
current implementation of __write_memory doesn't have any states needed to decide whether current memory region requested to write already set writeable by previous __write_memory. so auto_protect_for function do the stateful decision of whether the region need update of protection itself again.
This patch previously confirmed with my cygwin build, and showed reasonable speedup of initialization of clang compiler which has 3000~ entries of pseudo-relocation.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Issues"
proposed patch.
Thanks for the patch. I'll take a look at it a bit later in the year.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Issues"
otherwise, adopting changes from mingw-w64 would be good. the project provides better solution.
Ticket moved from /p/mingw/patches/528/