This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/59235] New: [4.9 regression] SEGV in sparc_output_scratch_registers


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]