Am Sonntag, den 21.09.2014, 14:27 +0100 schrieb Justin Cormack: > Hmm, just checked on a non-OSv Musl system and get the same result as > you. I also checked on NetBSD and FreeBSD and they give the same > result as glibc, so I think there must be a Musl bug. In __rand48_step there is this line x = xi[0] | xi[1]<<16 | xi[2]+0ULL<<32; on arch with 16bit int this would be UB, no? Do we have such archs, still? In any case, doing something like x = xi[0]+0ULL | xi[1]+0ULL<<16 | xi[2]+0ULL<<32; shouldn't cost anything and should ensure the correct conversion in all cases. Jens -- :: INRIA Nancy Grand Est ::: AlGorille ::: ICube/ICPS ::: :: ::::::::::::::: office Strasbourg : +33 368854536 :: :: :::::::::::::::::::::: gsm France : +33 651400183 :: :: ::::::::::::::: gsm international : +49 15737185122 :: :: http://icube-icps.unistra.fr/index.php/Jens_Gustedt ::