Am Sonntag, den 21.09.2014, 15:45 +0200 schrieb Jens Gustedt: > 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? Thinking of it, it is UB even on platforms with 32bit if the high order bit in the unsigned short is set. We then have unsigned short --> int --> shifted value inside int --> unsigned long So we better shouldn't do that in any case. 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 ::