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

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to