[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Segmentation violations in 'make check'

From: Patrick Smith
Subject: Segmentation violations in 'make check'
Date: Thu, 17 Oct 2002 01:44:54 -0400
User-agent: Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.1) Gecko/20020921

I'm trying to build glibc 2.3.1, and getting weird segmentation violations when running 'make check'. So far, the following have produced segfaults:

        shm_open(...);  - when there is no tmpfs filesystem mounted
        fprintf(stderr, "sys_siglist[0] %p\n", sys_siglist[0]);

My environment:

gcc       3.2
linux     2.4.19
glibc     2.3.1, with linuxthreads, and configured with

CC=gcc .../configure \
   --prefix=... \
   --libexecdir=... \
   --enable-add-ons \
   --with-headers=... \
   --without-gd \
   --enable-kernel=2.4.8 \

Running on a PowerPC (G4) (Mac Cube)

Details of the saga so far:

Initially, I was using binutils 2.13.

After getting around a couple of other problems (for which I've previously posted patches), 'make check' died in rt/tst-shm. Upon investigation, there seemed to be a segmentation violation in the first call to shm_open in do_test. In fact, if I inserted the code

   fprintf(stderr, "one\n");
   shm_open ("/shm-test", O_RDWR | O_CREAT | O_TRUNC | O_EXCL, 0600);
   fprintf(stderr, "two\n");

at the beginning of main(), the output would be just 'one' - followed by a segmentation violation.

Furthermore, the parent process (code in test-skeleton.c) was dying trying to report the problem. This turned out to be a segmentation violation in strsignal(). And when I inserted this code

   fprintf(stderr, "sys_siglist %p\n", sys_siglist);
   fprintf(stderr, "sys_siglist[0] %p\n", sys_siglist[0]);

at the beginning of main, the output was

   sys_siglist 0x10011d8i

followed by a segmentation violation.

After a while, I realized that shm_open needs a tmpfs filesystem somewhere. So I mounted one on /dev/shm. Now tst-shm passed. (However, from my reading of the shm_open code, it should report an error if it can't find a suitable filesystem, not segfault. So I'd think these problems have just been sidestepped, not solved.)

Then 'make check' died running elf/resolvfail.

At this point, I upgraded binutils to (which required going from bison 1.50 to 1.75), rebuilt glibc, and tried 'make check' again. Segmentation violation in resolvfail, yet again. This one seems to happen in the call to dlerror().

Does anyone have any ideas as to what might be wrong here?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]