[Bug c/56356] New: DJGPP compiler crashing

fabrizio.ge at tiscali dot it gcc-bugzilla@gcc.gnu.org
Sat Feb 16 17:20:00 GMT 2013


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

             Bug #: 56356
           Summary: DJGPP compiler crashing
    Classification: Unclassified
           Product: gcc
           Version: 4.7.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: fabrizio.ge@tiscali.it


I am building gcc as cross-compiler for DJGPP, running on an Ubuntu 12.04
machine. I downloaded the sources of binutils 2.23.1 and gcc 4.7.2. binutils
compiled with no problems. gcc's build proceeded for a while, so that the
compiler was actually built, but, while compiling libstdc++, the cross-compiler
crashed.

This is the command (part of the build process) that caused the crash

/home/fabrizio/dev/djgpp/cross/gcc/./gcc/xgcc -v -shared-libgcc
-B/home/fabrizio/dev/djgpp/cross/gcc/./gcc -nostdinc++
-L/home/fabrizio/dev/djgpp/cross/gcc/i586-pc-msdosdjgpp/libstdc++-v3/src
-L/home/fabrizio/dev/djgpp/cross/gcc/i586-pc-msdosdjgpp/libstdc++-v3/src/.libs
-B/home/fabrizio/dev/djgpp/i586-pc-msdosdjgpp/bin/
-B/home/fabrizio/dev/djgpp/i586-pc-msdosdjgpp/lib/ -isystem
/home/fabrizio/dev/djgpp/i586-pc-msdosdjgpp/include -isystem
/home/fabrizio/dev/djgpp/i586-pc-msdosdjgpp/sys-include
-I/home/fabrizio/dev/djgpp/cross/gcc-4.7.2/libstdc++-v3/../libgcc
-I/home/fabrizio/dev/djgpp/cross/gcc/i586-pc-msdosdjgpp/libstdc++-v3/include/i586-pc-msdosdjgpp
-I/home/fabrizio/dev/djgpp/cross/gcc/i586-pc-msdosdjgpp/libstdc++-v3/include
-I/home/fabrizio/dev/djgpp/cross/gcc-4.7.2/libstdc++-v3/libsupc++
-fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi
-fdiagnostics-show-location=once -ffunction-sections -fdata-sections
-frandom-seed=strstream.lo -g -O2
-I/home/fabrizio/dev/djgpp/cross/gcc/i586-pc-msdosdjgpp/libstdc++-v3/include/backward
-Wno-deprecated -c ../../../../../gcc-4.7.2/libstdc++-v3/src/c++98/strstream.cc
-o strstream.o

I even tried to use gdb to debug cc1plus.

gdb --args "/home/fabrizio/dev/djgpp/cross/gcc/./gcc/cc1plus"  "-quiet"
"-nostdinc++" "-v" "-I"
"/home/fabrizio/dev/djgpp/cross/gcc-4.7.2/libstdc++-v3/../libgcc" "-I"
"/home/fabrizio/dev/djgpp/cross/gcc/i586-pc-msdosdjgpp/libstdc++-v3/include/i586-pc-msdosdjgpp"
"-I"
"/home/fabrizio/dev/djgpp/cross/gcc/i586-pc-msdosdjgpp/libstdc++-v3/include"
"-I" "/home/fabrizio/dev/djgpp/cross/gcc-4.7.2/libstdc++-v3/libsupc++" "-I"
"/home/fabrizio/dev/djgpp/cross/gcc/i586-pc-msdosdjgpp/libstdc++-v3/include/backward"
"-iprefix"
"/home/fabrizio/dev/djgpp/cross/gcc/gcc/../lib/gcc/i586-pc-msdosdjgpp/4.7.2/"
"-isystem" "/home/fabrizio/dev/djgpp/cross/gcc/./gcc/include" "-isystem"
"/home/fabrizio/dev/djgpp/cross/gcc/./gcc/include-fixed" "-remap" "-imacros"
"/home/fabrizio/dev/djgpp/i586-pc-msdosdjgpp/bin/../include/sys/version.h"
"-isystem" "/home/fabrizio/dev/djgpp/i586-pc-msdosdjgpp/include" "-isystem"
"/home/fabrizio/dev/djgpp/i586-pc-msdosdjgpp/sys-include"
"../../../../../gcc-4.7.2/libstdc++-v3/src/c++98/strstream.cc" "-quiet"
"-dumpbase" "strstream.cc" "-mtune=pentium" "-march=pentium" "-auxbase-strip"
"strstream.o" "-g" "-O2" "-Wall" "-Wextra" "-Wwrite-strings" "-Wcast-qual"
"-Wabi" "-Wno-deprecated" "-version" "-fno-implicit-templates"
"-fdiagnostics-show-location=once" "-ffunction-sections" "-fdata-sections"
"-frandom-seed=strstream.lo" "-o" "/tmp/ccqldaCk.s"

And this is the result

Program received signal SIGSEGV, Segmentation fault.
eliminate_regs_1 (x=0x0, mem_mode=VOIDmode, insn=0x0, 
    may_use_invariant=0 '\000', for_costs=0 '\000')
    at ../../gcc-4.7.2/gcc/reload1.c:2549
2549      enum rtx_code code = GET_CODE (x);
(gdb) ba
#0  eliminate_regs_1 (x=0x0, mem_mode=VOIDmode, insn=0x0, 
    may_use_invariant=0 '\000', for_costs=0 '\000')
    at ../../gcc-4.7.2/gcc/reload1.c:2549
#1  0x00000000007d42da in eliminate_regs (x=<optimised out>, 
    mem_mode=mem_mode@entry=VOIDmode, insn=insn@entry=0x0)
    at ../../gcc-4.7.2/gcc/reload1.c:2960
#2  0x00000000007ed561 in sdbout_parms (parms=0x7ffff5e8a440)
    at ../../gcc-4.7.2/gcc/sdbout.c:1278
#3  sdbout_end_prologue (line=<optimised out>, file=<optimised out>)
    at ../../gcc-4.7.2/gcc/sdbout.c:1594
#4  sdbout_begin_prologue (line=<optimised out>, file=<optimised out>)
    at ../../gcc-4.7.2/gcc/sdbout.c:1585
#5  0x00000000006aea43 in final_start_function (first=<optimised out>, 
    file=0x13751d0, optimize_p=<optimised out>)
    at ../../gcc-4.7.2/gcc/final.c:1543
#6  0x00000000009aa10e in x86_output_mi_thunk (file=0x13751d0, 
    thunk=<optimised out>, delta=-8, vcall_offset=0, function=<optimised out>)
    at ../../gcc-4.7.2/gcc/config/i386/i386.c:32312
#7  0x000000000061e2f2 in assemble_thunk (node=0x7ffff5e99000)
    at ../../gcc-4.7.2/gcc/cgraphunit.c:1641
#8  assemble_thunks_and_aliases (node=<optimised out>, node=<optimised out>)
    at ../../gcc-4.7.2/gcc/cgraphunit.c:1802
#9  0x000000000061e231 in assemble_thunks_and_aliases (node=0x7ffff5e80b40, 
---Type <return> to continue, or q <return> to quit---
    node=0x7ffff5e80b40) at ../../gcc-4.7.2/gcc/cgraphunit.c:1817
#10 0x000000000061fae7 in cgraph_expand_function (node=0x7ffff5e80b40)
    at ../../gcc-4.7.2/gcc/cgraphunit.c:1850
#11 0x000000000062122c in cgraph_expand_all_functions ()
    at ../../gcc-4.7.2/gcc/cgraphunit.c:1904
#12 cgraph_optimize () at ../../gcc-4.7.2/gcc/cgraphunit.c:2218
#13 0x000000000062177a in cgraph_finalize_compilation_unit ()
    at ../../gcc-4.7.2/gcc/cgraphunit.c:1344
#14 0x00000000004fed1e in cp_write_global_declarations ()
    at ../../gcc-4.7.2/gcc/cp/decl2.c:4057
#15 0x0000000000827448 in compile_file () at ../../gcc-4.7.2/gcc/toplev.c:573
#16 do_compile () at ../../gcc-4.7.2/gcc/toplev.c:1938
#17 toplev_main (argc=51, argv=0x7fffffffda08)
    at ../../gcc-4.7.2/gcc/toplev.c:2014
#18 0x00007ffff715876d in __libc_start_main (main=0x4a0510 <main>, argc=51, 
    ubp_av=0x7fffffffda08, init=<optimised out>, fini=<optimised out>, 
    rtld_fini=<optimised out>, stack_end=0x7fffffffd9f8) at libc-start.c:226
#19 0x00000000004a0541 in _start ()
(gdb) up 2
#2  0x00000000007ed561 in sdbout_parms (parms=0x7ffff5e8a440)
    at ../../gcc-4.7.2/gcc/sdbout.c:1278
1278          = eliminate_regs (DECL_INCOMING_RTL (parms), VOIDmode, NULL_RTX);
(gdb) p parms->parm_decl .incoming_rtl 
$1 = (rtx) 0x0

So it is a null-pointer dereference



More information about the Gcc-bugs mailing list