Bug#291605: gcc-4.0: GCC4 internal compiler error: Segmentation fault
Package: gcc-4.0
Version: 4.0-0pre2
Severity: grave
Tags: experimental
Justification: renders package unusable
While running configure for the Mono runtime:
configure:3030: checking for gcc option to accept ANSI C
configure:3100: gcc -c -march=pentium3 -O2 -foptimize-sibling-calls
-finline-functions -fmerge-constants -fmerge-all-constants
-funroll-loops -fnew-ra -fprefetch-loop-arrays -ffast-math
-fno-math-errno -funsafe-math-optimizations -ffinite-math-only
-fno-trapping-math -fsignaling-nans -fsingle-precision-constant
-ftree-loop-linear -funswitch-loops -fivopts -ftree-sra -ftree-vectorize
-fweb -fvariable-expansion-in-unroller -freorder-blocks-and-partition
-funit-at-a-time -fbranch-target-load-optimize -DGC_LINUX_THREADS
-D_GNU_SOURCE -D_REENTRANT conftest.c >&5
conftest.c: In function 'main':
conftest.c:55: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.
configure:3106: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "mono"
| #define VERSION "1.1.3"
| /* end confdefs.h. */
| #include <stdarg.h>
| #include <stdio.h>
| #include <sys/types.h>
| #include <sys/stat.h>
| /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.
*/
| struct buf { int x; };
| FILE * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not '\xHH' hex character
constants.
| These don't provoke an error unfortunately, instead are silently
treated
| as 'x'. The following induces an error, until -std1 is added to
get
| proper ANSI mode. Curiously '\x00'!='x' always comes out true, for
an
| array size at least. It's necessary to write '\x00'==0 to get
something
| that's true only with -std1. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *,
int), int, int);
| int argc;
| char **argv;
| int
| main ()
| {
| return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
| ;
| return 0;
| }
$ env | grep DEB
DEBIAN_BUILDGCCVER=4.0
DEBIAN_BUILDARCH=pentium3
$ gcc --version
gcc-4.0 (GCC) 4.0.0 20041205 (experimental) (Debian 4.0-0pre2)
$ echo $CFLAGS
-march=pentium3 -O2 -foptimize-sibling-calls -finline-functions
-fmerge-constants -fmerge-all-constants -funroll-loops -fnew-ra
-fprefetch-loop-arrays -ffast-math -fno-math-errno
-funsafe-math-optimizations -ffinite-math-only -fno-trapping-math
-fsignaling-nans -fsingle-precision-constant -ftree-loop-linear
-funswitch-loops -fivopts -ftree-sra -ftree-vectorize -fweb
-fvariable-expansion-in-unroller -freorder-blocks-and-partition
-funit-at-a-time -fbranch-target-load-optimize
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (990, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.9
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages gcc-4.0 depends on:
ii binutils 2.15-5 The GNU assembler, linker and bina
ii cpp-4.0 4.0-0pre2 The GNU C preprocessor
ii gcc-4.0-base 4.0-0pre2 The GNU Compiler Collection (base
ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an
ii libgcc1 1:4.0-0pre2 GCC support library
-- no debconf information
Reply to: