This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/59235] New: [4.9 regression] SEGV in sparc_output_scratch_registers
- From: "ro at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 21 Nov 2013 13:58:11 +0000
- Subject: [Bug bootstrap/59235] New: [4.9 regression] SEGV in sparc_output_scratch_registers
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59235
Bug ID: 59235
Summary: [4.9 regression] SEGV in
sparc_output_scratch_registers
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: ebotcazou at gcc dot gnu.org, law at gcc dot gnu.org
Host: sparc-sun-solaris2.*
Target: sparc-sun-solaris2.*
Build: sparc-sun-solaris2.*
Solaris/SPARC bootstrap got broken between rev 204842 and 205096: the stage2
sparcv9 libgcc fails to configure, as can be seen with the following testcase:
$ cat conftest.c
int
main (void)
{
return 0;
}
$ ./cc1 -fpreprocessed conftest.c -mptr64 -mstack-bias -mno-v8plus -mcpu=v9
-quiet -m64 -o conftest.s
conftest.c: In function 'main':
Segmentation Fault
The SEGV happens here:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
0x0069c314 in sparc_output_scratch_registers(__FILE*) [clone .part.32] ()
(gdb) where
#0 0x0069c314 in sparc_output_scratch_registers(__FILE*) [clone .part.32] ()
#1 0x0069c3ac in sparc_asm_function_prologue(__FILE*, long long) ()
#2 0x00281df0 in final_start_function(rtx_def*, __FILE*, int) ()
#3 0x00282294 in (anonymous namespace)::pass_final::execute() ()
#4 0x003d3050 in execute_one_pass(opt_pass*) ()
#5 0x003d32e0 in execute_pass_list(opt_pass*) ()
#6 0x003d3304 in execute_pass_list(opt_pass*) ()
#7 0x003d3304 in execute_pass_list(opt_pass*) ()
#8 0x001c7bd4 in expand_function(cgraph_node*) ()
#9 0x001c9d74 in compile() ()
#10 0x001ca050 in finalize_compilation_unit() ()
#11 0x000d4f3c in c_write_global_declarations() ()
#12 0x004876a8 in compile_file() ()
#13 0x00489784 in toplev_main(int, char**) ()
#14 0x000c1074 in _start ()
A reghunt traced this to the following patch:
2013-11-19 Jeff Law <law@redhat.com>
* tree-ssa-threadedge.c (thread_across_edge): After threading
through a joiner, allow threading a normal block requiring duplication.
* tree-ssa-threadupdate.c (thread_block_1): Improve code to detect
I'm currently running a bootstrap with the patch reverted to see if everything
is ok without.
Rainer