1 --- src/arch/Threads/Threads_Pthreads.cpp.old 2006-10-24 22:01:54.000000000 +0200
2 +++ src/arch/Threads/Threads_Pthreads.cpp 2006-10-24 22:08:35.000000000 +0200
5 int ThreadImpl_Pthreads::Wait()
8 - int ret = pthread_join( thread, &val );
10 + int ret = pthread_join( thread, (void **)&val );
12 - RageException::Throw( "pthread_join: %s", strerror(errno) );
13 + RageException::Throw( "pthread_join: %s", strerror(ret) );
21 ThreadImpl *MakeThisThread()
23 /* Tell MakeThread that we've set m_piThreadID, so it's safe to return. */
24 pThis->m_StartFinishedSem->Post();
26 - return (void *) pThis->m_pFunc( pThis->m_pData );
27 + int iRet = pThis->m_pFunc( pThis->m_pData );
28 + return new int(iRet);
31 ThreadImpl *MakeThread( int (*pFunc)(void *pData), void *pData, uint64_t *piThreadID )
32 --- src/crypto51/misc.h.old 2006-10-24 22:17:51.000000000 +0200
33 +++ src/crypto51/misc.h 2006-10-24 23:13:30.000000000 +0200
36 inline bool IsAlignedOn(const void *p, unsigned int alignment)
38 - return IsPowerOf2(alignment) ? ModPowerOf2((unsigned int)p, alignment) == 0 : (unsigned int)p % alignment == 0;
39 + return IsPowerOf2(alignment) ? ModPowerOf2((uintptr_t)p, alignment) == 0 : (uintptr_t)p % alignment == 0;
43 --- src/crypto51/misc.cpp.old 2006-10-24 23:28:55.000000000 +0200
44 +++ src/crypto51/misc.cpp 2006-10-24 23:30:19.000000000 +0200
47 void xorbuf(byte *buf, const byte *mask, unsigned int count)
49 - if (((unsigned int)buf | (unsigned int)mask | count) % WORD_SIZE == 0)
50 + if (((uintptr_t)buf | (uintptr_t)mask | count) % WORD_SIZE == 0)
51 XorWords((word *)buf, (const word *)mask, count/WORD_SIZE);
56 void xorbuf(byte *output, const byte *input, const byte *mask, unsigned int count)
58 - if (((unsigned int)output | (unsigned int)input | (unsigned int)mask | count) % WORD_SIZE == 0)
59 + if (((uintptr_t)output | (uintptr_t)input | (uintptr_t)mask | count) % WORD_SIZE == 0)
60 XorWords((word *)output, (const word *)input, (const word *)mask, count/WORD_SIZE);