On Thursday 24 August 2006 09:45, Andrew Donnellan wrote:
> I've found the relevant piece of code:
[SNIP]
> #elif defined(__GNUC__) && ( defined(__i686__) || defined(__i386__) )
> asm("rdtsc" : "=A" (tick));
> #elif defined (__SUNPRO_CC) || defined( __sparc__ )
> tick = gethrtime();
> #elif defined(__MACH__)
> int fd=open("/dev/random",O_RDONLY);
> read(fd,&tick,sizeof(tick));
> closesocket(fd);
> #else
> # error Need some way to seed the random number generator
> #endif
[SNIP]
>
> Does anyone know what the appropriate code for PowerPC would be?The attached patch should fix the compilation on *all* non linux-x86 archs, without breaking the supported archs. please test it on other archs, i've tested only on linux-x86 and linux-ppc. Regards Francesco -- :wq
--- /tmp/jabbin-2.0beta2a/voip/stun.cpp 2006-08-10 12:09:57.000000000 +0200
+++ jabbin-2.0beta2a/voip/stun.cpp 2006-08-25 00:58:44.000000000 +0200
@@ -669,17 +669,13 @@
tick = hightick;
tick <<= 32;
tick |= lowtick;
-#elif defined(__GNUC__) && ( defined(__i686__) || defined(__i386__) )
- asm("rdtsc" : "=A" (tick));
#elif defined (__SUNPRO_CC) || defined( __sparc__ )
tick = gethrtime();
-#elif defined(__MACH__)
+#elif defined( __MACH__ )|| defined( __GNUC__ )
int fd=open("/dev/random",O_RDONLY);
read(fd,&tick,sizeof(tick));
closesocket(fd);
-#else
-# error Need some way to seed the random number generator
-#endif
+#endif
int seed = int(tick);
#ifdef WIN32
srand(seed);
pgpfouvEcBNi4.pgp
Description: PGP signature

