[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #16 from daney at gcc dot gnu dot org 2007-05-30 04:21 --- Subject: Bug 31975 Author: daney Date: Wed May 30 04:21:24 2007 New Revision: 125178 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125178 Log: PR gcc/31975 * config/mips/mips.c (mips_output_mi_thunk): Emit NOTE_INSN_PROLOGUE_END at beginning of the thunk. Modified: trunk/gcc/ChangeLog trunk/gcc/config/mips/mips.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #17 from daney at gcc dot gnu dot org 2007-05-30 04:38 --- Fix committed to the trunk. -- daney at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #13 from daney at gcc dot gnu dot org 2007-05-25 08:16 --- Created an attachment (id=13610) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13610action=view) Proposed patch. I will bootstrap and test the attached patch. It allows my cross build to complete. -- daney at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |daney at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #14 from pinskia at gcc dot gnu dot org 2007-05-25 08:32 --- RS6000, ia64, and sh does this: /* Mark the end of the (empty) prologue. */ emit_note (NOTE_INSN_PROLOGUE_END); You might want to use that note also for MIPS. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #15 from richard at codesourcery dot com 2007-05-25 14:13 --- Subject: Re: [4.3 Regression] segfault in try_split on mips during bootstrap David, msny thanks for looking at this. pinskia at gcc dot gnu dot org [EMAIL PROTECTED] writes: RS6000, ia64, and sh does this: /* Mark the end of the (empty) prologue. */ emit_note (NOTE_INSN_PROLOGUE_END); You might want to use that note also for MIPS. Agreed. I suppose it's slightly more self-documenting than NOTE_INSN_DELETED, and it's good to be consistent with other ports. David, FWIW, a patch to add those two lines is pre-approved. If you've already tested the NOTE_INSN_DELETED version, don't feel you need to test the whole thing again with the other note; as long as cc1 compiles, that's fine. Richard -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #11 from daney at gcc dot gnu dot org 2007-05-24 06:06 --- Reduced testcase: g++.dg/abi/thunk3.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #12 from daney at gcc dot gnu dot org 2007-05-24 06:08 --- Fails with: -mno-shared OK with: -mshared -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #10 from daney at gcc dot gnu dot org 2007-05-22 16:21 --- This bug was triggered on the trunk by: $ svn log -r 124258 r124258 | hubicka | 2007-04-28 01:20:08 -0700 (Sat, 28 Apr 2007) | 50 lines * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Use insn_locators_alloc instead of insn_locators_initialize; call reset_block_changes. * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. * config/sh/sh.c (sparc_output_mi_thunk): Likewise. * config/is64/ia64.c (ia64_output_mi_thunk): Likewise. * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. * config/score/score.c (th_output_mi_thunk): Likewise. * config/mips/mips.c (mips_output_mi_thunk): Likewise. * cfglyaout.c (set_curr_insn_source_location, set_curr_insn_block): tolerate uninitialized locator info. Re-apply: * function.c (init_function_start): Don't init line number info. (expand_function_end): Update. (reset_block_changes, record_block_change, finalize_block_changes, check_block_change, free_block_changes): Kill. * function.h (reset_block_changes, record_block_change, finalize_block_changes, check_block_change, free_block_changes): Remove prototypes. (struct function): Remove ib_boundaries_block. * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw): Use curr_insn_locator to initialize locator. (emit_line_note): Remove. * cfgexpand.c (expand_gimple_cond_expr): Update. (construct_exit_block): Likewise. (tree_expand_cfg): Initialize/finalize locators. * expr.c (expand_expr_real): Update. * cfglayout.c (line_locators_locs, line_locators_lines, file_locators_locs, file_locators_files): Remove. (set_block_levels): Move to cfgexpand.c. (insn_locators_initialize): Remove. (pass_insn_locators_initialize): Remove. (locations_locators_locs, locations_locators_vals): New static vars. (curr_location, last_location, curr_block, last_block, curr_rtl_loc): Likewise. (insn_locators_alloc, insn_locators_finalize, set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): New functions. (locator_location): New. (locator_line, locator_file): Rewrite. * rtl.h (emit_line_note): Kill. (insn_locators_alloc, insn_locators_finalize, set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): Declare. * tree-inline.c (initialize_cfun): Do not initialize ib_boundaries_block. * passes.c (pass_insn_locators_initialize): Remove. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #9 from daney at gcc dot gnu dot org 2007-05-22 05:38 --- Confirmed on a cross compiler configured: ../t1/configure --target=mipsel-linux --with-sysroot=/usr/local/mipsel-linux-test --prefix=/usr/local/mipsel-linux-test --with-arch=mips32 --with-float=soft --disable-java-awt --without-x --disable-tls --enable-__cxa_atexit --disable-jvmpi --disable-libmudflap --enable-languages=c,c++ Building the compiler yields: /home/daney/gccsvn/mipsel-t1/./gcc/xgcc -shared-libgcc -B/home/daney/gccsvn/mipsel-t1/./gcc -nostdinc++ -L/home/daney/gccsvn/mipsel-t1/mipsel-linux/libstdc++-v3/src -L/home/daney/gccsvn/mipsel-t1/mipsel-linux/libstdc++-v3/src/.libs -B/usr/local/mipsel-linux-test/mipsel-linux/bin/ -B/usr/local/mipsel-linux-test/mipsel-linux/lib/ -isystem /usr/local/mipsel-linux-test/mipsel-linux/include -isystem /usr/local/mipsel-linux-test/mipsel-linux/sys-include -I/home/daney/gccsvn/mipsel-t1/mipsel-linux/libstdc++-v3/include/mipsel-linux -I/home/daney/gccsvn/mipsel-t1/mipsel-linux/libstdc++-v3/include -I/home/daney/gccsvn/t1/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -I/home/daney/gccsvn/mipsel-t1/mipsel-linux/libstdc++-v3/include/backward -Wno-deprecated -c ../../../../t1/libstdc++-v3/src/strstream.cc -o strstream.o ../../../../t1/libstdc++-v3/src/strstream.cc: In member function void std::strstream::_ZTv0_n12_NSt9strstreamD0Ev(): ../../../../t1/libstdc++-v3/src/strstream.cc:418: 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. -- daney at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-05-22 05:38:13 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #6 from daney at gcc dot gnu dot org 2007-05-20 07:11 --- (In reply to comment #5) With: /home/tbm/scratch/gcc/configure -v --enable-languages=c,c++ --disable-werror mipsel-linux-gnu I get the same segfault in gcc/libstdc++-v3/src/fstream-inst.cc Can you reproduce with a cross compiler? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #7 from tbm at cyrius dot com 2007-05-20 08:47 --- And finally, I can confirm that it works when I specify --disable-static. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #8 from tbm at cyrius dot com 2007-05-20 10:44 --- (In reply to comment #6) (In reply to comment #5) With: /home/tbm/scratch/gcc/configure -v --enable-languages=c,c++ --disable-werror mipsel-linux-gnu I get the same segfault in gcc/libstdc++-v3/src/fstream-inst.cc Can you reproduce with a cross compiler? Yes. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #4 from tbm at cyrius dot com 2007-05-19 16:12 --- I can reproduce it with /home/tbm/scratch/gcc/configure -v --enable-languages=c,c++ --enable-__cxa_atexit --enable-clocale=gnu --disable-libssp --disable-werror mipsel-linux-gnu with current SVN. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #5 from tbm at cyrius dot com 2007-05-19 20:44 --- With: /home/tbm/scratch/gcc/configure -v --enable-languages=c,c++ --disable-werror mipsel-linux-gnu I get the same segfault in gcc/libstdc++-v3/src/fstream-inst.cc -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #2 from daney at gcc dot gnu dot org 2007-05-18 17:31 --- Currently building mipsel-unknown-linux-gnu. # cat LAST_UPDATED Wed May 16 12:35:18 PDT 2007 Wed May 16 19:35:18 UTC 2007 (revision 124776) libstdc++-v3 was built without ICEing (currently building in libjava). The differences from Martin's configuration are that my target is little endian and I configured with --disable-static. The testcase would appear to be when building the static library version of strstream.o (I see no -fpic in the compiler invocation). FWIW this is my configure command: ../gcc/configure --with-arch=mips32 --with-float=soft --disable-java-awt --without-x --disable-tls --enable-__cxa_atexit --disable-jvmpi --disable-static --disable-libmudflap --enable-languages=c,c++,java I guess I will try the strstream.ii in the bug attachment with my compiler when it finishes bootstrapping. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #3 from tbm at cyrius dot com 2007-05-18 18:45 --- I started a build on my mipsel box too and it has failed in the same way as on mips. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
--- Comment #1 from tbm at cyrius dot com 2007-05-17 15:20 --- Created an attachment (id=13570) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13570action=view) preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975
[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31975