As of 20080724, mainline doesn't bootstrap on sparc-sun-solaris2.11 (and
probably
every sparc target) like this:

checking for suffix of object files... configure: error: in
`/vol/gccsrc/obj/gcc-4.4.0-20080724/11-gcc/sparc-sun-solaris2.11/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1

In config.log, I find

configure:2590: checking for suffix of object files
configure:2611: /vol/gccsrc/obj/gcc-4.4.0-20080724/11-gcc/./gcc/xgcc
-B/vol/gccsrc/obj/gcc-4.4.0-20080724/11-gcc/./gcc/
-B/vol/gcc/sparc-sun-solaris2.11/bin/ -B/vol/gcc/sparc-sun-solaris2.11/lib/
-isystem /vol/gcc/sparc-sun-solaris2.11/include -isystem
/vol/gcc/sparc-sun-solaris2.11/sys-include -c -g -O2    conftest.c >&5
cc1: internal compiler error: in cl_optimization_save, at options.c:5066

options.c:5066 has

  gcc_assert (IN_RANGE (flag_pcc_struct_return, 0, 255));

The problem is obviously that DEFAULT_PCC_STRUCT_RETURN is -1 in
config/sparc/sparc.h, which works ok with the int flag_pcc_struct_return 
variable, but not with unsigned char flag_pcc_struct_return in options.h
(struct
cl_optimization).

I couldn't easily find my way through the maze of opt[ch]-gen.awk to fix this,
though.

One workaround might be to declare fpcc-struct-return in common.opt, like
e.g. align_functions.


-- 
           Summary: [4.4 regression] Bootstrap failure on sparc: assertion
                    failure in options.c
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ro at gcc dot gnu dot org
GCC target triplet: sparc-sun-solaris2*


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

Reply via email to