[MPlayer-users] [BUGREPORT] VP6 / NSV
Martin Simmons
vyslnqaaxytp at spammotel.com
Mon Sep 13 01:16:52 CEST 2004
>>>>> On Mon, 13 Sep 2004 00:11:05 +0200, Reimar Döffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de> said:
>> The problem is that extend_stack_for_dll_alloca() gets inlined into
>> PE_InitDLL(), so the extended stack space is still *above* esp when the DLL
>> entrypoint is called:
Reimar> Thanks very much.
Reimar> According to the docs this shouldn't happen:
Reimar> http://gcc.gnu.org/onlinedocs/gcc-3.4.1/gcc/Inline.html#Inline:
Reimar> Note that certain usages in a function definition can make it unsuitable
Reimar> for inline substitution. Among these usages are: use of varargs, use of
Reimar> alloca, use of variable sized data types
Reimar> So this actually _is_ a compiler bug, although your fix (best together
Reimar> with mine to make sure) should be applied.
Maybe a documentation bug...when it says "can make it unsuitable" I assume it
means "we've not made the compiler smart enough yet". It looks like they have
now :-)
Even with the noinline attribute, a sufficiently smart compiler should
eliminate the alloca() and store. It probably needs __asm code to be certain
that it will not be eliminated.
__Martin
More information about the MPlayer-users
mailing list