[Bug middle-end/17044] New: libgcc2.c:169: internal compiler error: Segmentation fault

danglin at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Aug 16 01:59:00 GMT 2004


./xgcc -B./ -B/opt/gnu64/gcc/gcc-3.5.0/hppa64-hp-hpux11.11/bin/ -isystem /opt/gn
u64/gcc/gcc-3.5.0/hppa64-hp-hpux11.11/include -isystem /opt/gnu64/gcc/gcc-3.5.0/
hppa64-hp-hpux11.11/sys-include -L/xxx/gnu/gcc-3.3/objdir/gcc/../ld -O2  -DIN_GC
C    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-sty
le-definition  -isystem ./include  -fPIC -Dpa64=1 -DELF=1 -mlong-calls -g -DHAVE
_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -I. -I. -I../../gcc/gcc -I.
./../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -I..
/../gcc/gcc/../libbanshee/libcompat -I../../gcc/gcc/../libbanshee -I../../gcc/gc
c/../libbanshee/points-to  -DL_absvsi2 -c ../../gcc/gcc/libgcc2.c -o libgcc/./_a
bsvsi2.o
../../gcc/gcc/libgcc2.c: In function `__absvsi2':
../../gcc/gcc/libgcc2.c:169: internal compiler error: Segmentation fault

This problem appears to have been introduced by a series of changes by Paolo 
Bonzini on 2004-08-09.  It appears this change removed active code:

2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

        * expr.c (var_rtx): Remove.
        (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
        LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
        TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
        Abort.
        (expand_expr_real_1) <COND_EXPR>: Remove most special cases.
        * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
        * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.

After this change, things failed as follows:

stage1/xgcc -Bstage1/ -B/opt/gnu64/gcc/gcc-3.5.0/hppa64-hp-hpux11.11/bin/   -g -
O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror -fn
o-common   -DHAVE_CONFIG_H -DGENERATOR_FILE  -o genmodes \
 genmodes.o errors.o ../libiberty/libiberty.a
./genmodes -h > tmp-modes.h
./genmodes: machmode.def:187: duplicate definition of mode "TC"
./genmodes: config/pa/pa-modes.def:28: previous definition here
./genmodes: machmode.def:187: duplicate definition of mode "DC"
./genmodes: machmode.def:150: previous definition here
./genmodes: machmode.def:150: (BLK) field component must not be set
./genmodes: config/pa/pa-modes.def:28: (CCFP) field component must not be set

After this change, things are broken:

2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

        * expr.c (expand_expr_real_1): Add back code that was not dead.

The problem seems like a garbage collection issue (i.e., we seem to be
freeing a page twice).  Thus, it might be the following change is the
real culprit:

2004-08-09  Geoffrey Keating  <geoffk@apple.com>

        * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
        Check DATA limit only if there's no AS limit.  Ignore insanely
        low DATA limits.
        (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
        but take care that the AS limit isn't overrun.
        * doc/invoke.texi: Update documentation of min-heapsize parameter.

-- 
           Summary: libgcc2.c:169: internal compiler error: Segmentation
                    fault
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: danglin at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: hppa64-hp-hpux11.11
  GCC host triplet: hppa64-hp-hpux11.11
GCC target triplet: hppa64-hp-hpux11.11


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17044



More information about the Gcc-bugs mailing list