Subject: Re: Regress test of divrem fails
To: None <current-users@NetBSD.org, jdolecek@NetBSD.org>
From: Bernd Ernesti <netbsd@lists.veego.de>
List: current-users
Date: 12/19/2003 15:30:25
After some more testing.

Its rev 1.23 of src/lib/libc/stdlib/random.c which change the
output of the test.

:revision 1.23
:date: 2003/11/26 20:44:40;  author: jdolecek;  state: Exp;  lines: +39 -3
:improve random number generation by using largest 31-bit prime
:as denominator; regenerate the randtbl[] with new generator
:
:patch provided in lib/22853 by KIHARA Hideto; code actually present
:in libkern/random.c since 1994/06/03
:
:matches similar change done in glibc in 1995, and FreeBSD & OpenBSD in 1996

So, would it be okay to just change the regress Makefile to the new md5
checksum?

Bernd


On Thu, Dec 18, 2003 at 09:55:27PM +0100, Bernd Ernesti wrote:
> Here are some more informations:
> 
> - It is only test 6 which fails.
> 
> Here are the first 10 lines from the correct checksum for test 6:
> 
> 32         3d38509b /         746b9fbe =>                0
> 32         3d38509b /         746b9fbe =>         3d38509b
> 32u        b9221258 /         f055617b =>                0
> 32u        b9221258 /         f055617b =>         b9221258
> 32 ffffffffc2c7af64 /         746b9fbe =>                0
> 32 ffffffffc2c7af64 /         746b9fbe => ffffffffc2c7af64
> 32         3d38509b / ffffffff8b946042 =>                0
> 32         3d38509b / ffffffff8b946042 =>         3d38509b
> 32 ffffffffc2c7af64 / ffffffff8b946042 =>                0
> 32 ffffffffc2c7af64 / ffffffff8b946042 => ffffffffc2c7af64
> 
> And here are the 10 first lines from the wrong chesum:
> 
> 32         643c9869 /         66334873 =>                0
> 32         643c9869 /         66334873 =>         643c9869
> 32u        cfc7ddd0 /         d1be8dda =>                0
> 32u        cfc7ddd0 /         d1be8dda =>         cfc7ddd0
> 32 ffffffff9bc36796 /         66334873 =>                0
> 32 ffffffff9bc36796 /         66334873 => ffffffff9bc36796
> 32         643c9869 / ffffffff99ccb78d =>                0
> 32         643c9869 / ffffffff99ccb78d =>         643c9869
> 32 ffffffff9bc36796 / ffffffff99ccb78d =>                0
> 32 ffffffff9bc36796 / ffffffff99ccb78d => ffffffff9bc36796
> 
> Now i did build static versions of the test programm and run it on the
> other comp and now the failure mode moved.
> 
> So, it seems it is the gcc on the newer system who produce a broken programm.
> 
> Bernd
> 
> On Thu, Dec 18, 2003 at 08:54:58PM +0100, Bernd Ernesti wrote:
> > Hi,
> > 
> > I was doing a make regress and it failed in src/regress/lib/libc/divrem.
> > 
> > The md5 output was 3f181846a7fd931b9aeafeac6b32d24c instead of the expected
> > ffc1f640297c048e4a9ee02c89bd328a.
> > 
> > Then I did run the same test on a slighty older -current system from Nov 1st
> > and that had the correct checksum.
> > 
> > Both systems are i386, but the good checksum come from a PIII 600MHz (current
> > from Nov 1st) one and the bad checksum was from XP+2600 system (current from today).
> > 
> > Is there anyone else who gets an error while doing a make regress for that test?
> > 
> > Bernd
> >