make check failed on libc-2.0.110
Andreas Jaeger
aj@arthur.rhein-neckar.de
Thu Apr 1 00:00:00 GMT 1999
>>>>> Ulrich Drepper writes:
> I've got a few reports that the tests failed and also that the
> compiler aborts, all on ix86 platforms. In the second case the
> compiler is certainly buggy. A correct compiler does not abort.
The illegal instruction might not come from the compiler, it could
come from the vfork implementation!
> For the case when apparently wrong code is generated: I can only say
> that I have tested it several times. It compiles, checks, and
> installs correctly. This is on ix86 with the highest optimizations.
> The only thing is that it is a patched egcs version, based on the
> current development version. Those who are working with me on the
> library and who also constantly recompile glibc also haven't reported
> problems.
> So my first guess is that the compilers which were used are broken.
> This very well can be. That I compiler worked so far does not mean
> anything. Rather the other direction: if the compiler works for
> compiling glibc there is a good chance it has no big bugs.
That's (in my case) the same compiler that compiles every odd day a
glibc.
> But there is another chance. I've replaced a few of the most often
> used functions for i686 with assembler versions I wrote. I think they
> work but I might have missed a point.
Shouldn't be the problem since we've got reports on i586, i686 and
i486 (myself).
> So, I really need somebody who has the problems to grab the debugger
> and look where the programs crash.
But I've noticed that all use Linux 2.2.0pre7 (myself included) that
get these failures.
I disabled the use of the vfork syscall in
sysdeps/unix/sysv/linux/vfork.c (changing #ifdef __NR_vfork to #if 0)
and make stdio-common/tests and make timezone/tests was both sucessful
(that's the tests that failed before). I fear that vfork (either the
glibc wrapper or the Linux implementation) is broken :-(.
Andreas
P.S.: I'm testing glibc 2.1.110 with egcs 1.1.1, binutils 2.9.1.0.19,
Linux 2.2.0pre7 on i486.
P.S.2: Here's the trivial patch for vfork which gets things working
for me. This isn't a final solution, it's just a workaround.
--- sysdeps/unix/sysv/linux/vfork.c.~1~ Thu Jan 14 07:33:06 1999
+++ sysdeps/unix/sysv/linux/vfork.c Fri Jan 15 09:08:59 1999
@@ -24,7 +24,7 @@
extern pid_t __syscall_fork __P ((void));
-#ifdef __NR_vfork
+#if 0
extern pid_t __syscall_vfork __P ((void));
/* Use the system call. If it's not available, fork is close enough. */
--
Andreas Jaeger aj@arthur.rhein-neckar.de jaeger@informatik.uni-kl.de
for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de
More information about the Libc-alpha
mailing list