[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