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]

RE: irix6.5 bootstrap failure in mips/mips.c


OK.  The search through CVS shows failure was introduced on Mar 22
between 09:54 UTC and 09:56 UTC by

2002-03-22  Richard Sandiford  <rsandifo@redhat.com>

        * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
        * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
        (function_arg): Constify CUMULATIVE_ARGS.
        (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
        * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
        (UNITS_PER_DOUBLE): New macro.
        (SETUP_INCOMING_VARARGS): Define.  Use mips_setup_incoming_varargs.
        (CUMULATIVE_ARGS): Reformat.  Remove num_adjusts workaround and
        last_arg_fp field.  Replace arg_words and fp_arg_words with gp_regs,
        fp_regs and stack_words.
        (EABI_FLOAT_VARARGS_P): New macro.
        * config/mips/mips.c (struct mips_arg_info): New.
        (mips_arg_info): New function.
        (function_arg_advance): Use it.  Add adjustment instructions here
        rather than in function_arg.
        (function_arg): Constify CUMULATIVE_ARGS.  Use mips_arg_info.  Check
        for VOIDmode at the beginning of the function.
        (function_partial_nregs): Constify CUMULATIVE_ARGS.  Use mips_arg_info.
        (function_arg_pass_by_reference): Likewise.
        (mips_setup_incoming_varags): New, largely based on old abi64.h code.
        (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
        (mips_va_start): Likewise.  Use the new stack_words field of
        CUMULATIVE_ARGS to set up overflow area.  Reformat.
        (mips_va_arg): Test EABI_FLOAT_VARARGS_P.  Unify EABI handling of
        doubles and other types, aligning the overflow pointer for non-doubles
        too.  Remove some code duplication.  Replace hard-coded constants.

The error is

> "/exd4/billingd/src/gcc/gcc/config/mips/mips.c", line 4026: error(1565): 
>           struct "mips_args" has no field "__fp_regs"
>   		      ? cum->fp_regs
>   		             ^

The

#define fp_regs __fp_regs

comes from /usr/include/sys/ucontext.h

#if _SGIAPI && !defined(__SGI_NOUCONTEXT_COMPAT)
#define fpregset        __fpregset
#define fp_r            __fp_r
#define fp_dregs        __fp_dregs
#define fp_fregs        __fp_fregs
#define fp_regs         __fp_regs
#define fp_csr          __fp_csr
#define fp_pad          __fp_pad
#define gregs           __gregs
#define fpregs          __fpregs
#define ucontext        __ucontext
#define sigaltstack     _sigaltstack
#endif

 
The include sequence is

/exd4/billingd/src/gcc/gcc/system.h:# include <sys/param.h>
/usr/include/sys/param.h:#include <sys/signal.h>
/usr/include/sys/signal.h:#include <sys/ucontext.h>


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