http://bugs.winehq.org/show_bug.cgi?id=10273
--- Comment #25 from Anastasius Focht focht@gmx.net 2007-11-09 03:43:53 --- Hello,
--- quote --- But it definitely has an influence on how many functions pass the safedisc check. Was just a thought that this might explain the differences we are seeing. --- quote ---
Yep, the gcc 4.1.2 snippet was just an example to show every gcc version behaves different (might generate different entry code).
--- quote --- When compiled with -fstack-protector this function will pass the safedisc check, without it would fail. --- quote ---
Yes, it is the stack protectors 3 additional instructions that makes more functions pass because they move the PIC load (first call) beyond SafeDisc 2.x analyzer threshold of 8 entry code instructions.
Considering the wide range of used gcc versions more user32 functions should be marked hidden to gain more distance to analyzer c2 threshold.
Regards