|
From: Stefan K. <en...@ho...> - 2008-11-04 21:45:44
|
hi,
I have some code to deal with win32 dll under linux (also used in wine [1]). I
needs to emulate a few functions. There are some issues and I am running under
valgrind to see if it complains about something. And yes it does. I get this
warning for the code below. I have to admit that my asm knowledge is poor (and I
am aware that this is probably not the right place to ask). Still I try my luck
- does anyone see something wrong or can explain the warning?
Thanks
Stefan
==5303== Conditional jump or move depends on uninitialised value(s)
==5303== at 0x48EDB43: __ieee754_pow (in /lib/libm-2.8.so)
==5303== by 0x420B2DB: exp_CIpow (win32.c:4424)
==5303== by 0x19C47824: ???
#define FPU_DOUBLES(var1,var2) double var1,var2; \
__asm__ __volatile__( "fstpl %0;fwait" : "=m" (var2) : ); \
__asm__ __volatile__( "fstpl %0;fwait" : "=m" (var1) : )
static double exp_CIpow(void)
{
FPU_DOUBLES(x,y);
return pow(x, y);
}
[1] http://source.winehq.org/source/dlls/msvcrt/math.c?v=wine20010629
|