2.3.31 (and 2.3.32pre2) breaks cpp with segmentation fault (ok in

David Dyck (dcd@tc.fluke.com)
Sat, 11 Dec 1999 15:54:56 -0800 (PST)


something (mremap?) broke cpp between 2.3.30 and 2.3.31
(2.3.30 is ok, 2.3.31 causes segmentation fault in cpp)

Compiling and testing perl has proved useful to find bugs/problems
with new linux kernels. This is the first time I get a repeatable
Segmentation fault from gcc (the preprocessor at that!)
after upgrading to a new kernel. (older kernels don't have
this problem.)

Whould the changes to mremap have caused this?
(the reason I ask this is the last system call before cpp
segfaults was mremap)

Here's a little info about my kernel and environment

Linux dd 2.3.31 #1 Sat Dec 11 11:12:12 PST 1999 i686
gcc version 2.7.2.3
/lib/libc.so.5.4.44

extract latest perl5.005_63.tar.gz from CPAN
cd perl5.005_63
make clean ; sh Configure -Doptimize='-g' -de ; make test

observe failed build
cc: Internal compiler error: program cpp got fatal signal 11

if I
strace -v -f
the command that failed, but make it obvious that I want to just test the
preprocessor "-E"
cc -E pp.c

The same process can be repeated with earlier perls
(I tried perl5.005_62.tar.gz also)

The latest 'stable' perl5.005_03.tar.gz and perl5.005_57.tar.gz did
not fail in the same way)

tar -zxf perl5.005_62.tar.gz
cd perl5.005_62
sh Configure -Doptimize='-g' -de
cc -E pp.c

strace -v -f cc -E pp.c 2> /tmp/pp.trace
reports the last system call before the seg fault as
mremap(0x40122000, 1074929664, 700416, MREMAP_MAYMOVE) = 0x40122000

I don't think one should blame perl for causing a seg fault
in cpp when running linux 2.3.31 when the same code runs
fine when running 2.3.30.

Can anyone else reproduce this also?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/