This is the mail archive of the gcc@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: Mainline is broken on ia64


H. J. Lu wrote:
> I got
> 
> /net/gnu-13/export/gnu/src/gcc/gcc/gcc/df-scan.c: In function
> `df_record_entry_block_defs':
> /net/gnu-13/export/gnu/src/gcc/gcc/gcc/df-scan.c:1753: error:
> `INCOMING_RETURN_ADDR_RTX' undeclared (first use in this function)
> /net/gnu-13/export/gnu/src/gcc/gcc/gcc/df-scan.c:1753: error: (Each
> undeclared identifier is reported only once
> /net/gnu-13/export/gnu/src/gcc/gcc/gcc/df-scan.c:1753: error: for each
> function it appears in.)
> make[5]: *** [df-scan.o] Error 1
> make[5]: *** Waiting for unfinished jobs....
> 
> [hjl@gnu-13 gcc]$ grep INCOMING_RETURN_ADDR_RTX *.c
> df-scan.c:      if (REG_P (INCOMING_RETURN_ADDR_RTX))
> df-scan.c:      bitmap_set_bit (df->entry_block_defs, REGNO
> (INCOMING_RETURN_ADDR_RTX));
> dwarf2out.c:   INCOMING_RETURN_ADDR_RTX.  */
> dwarf2out.c:  initial_return_save (INCOMING_RETURN_ADDR_RTX);
> function.c:#if defined(HAVE_epilogue) &&
> defined(INCOMING_RETURN_ADDR_RTX)
> function.c:#if defined(HAVE_epilogue) &&
> defined(INCOMING_RETURN_ADDR_RTX)
> function.c:       rtx retaddr = INCOMING_RETURN_ADDR_RTX;
> function.c:#ifdef INCOMING_RETURN_ADDR_RTX
> 
> df-scan.c doesn't check if INCOMING_RETURN_ADDR_RTX is defined.

Actually, neither does dwarf2out.c specifically check for it, it assumes
it's defined if DWARF2_UNWIND_INFO does.

#ifdef DWARF2_UNWIND_INFO
  /* On entry, the Canonical Frame Address is at SP.  */
  dwarf2out_def_cfa (NULL, STACK_POINTER_REGNUM, INCOMING_FRAME_SP_OFFSET);
  initial_return_save (INCOMING_RETURN_ADDR_RTX);
#endif


Can you try the obvious patch here (surrounding INCOMING_RETURN_ADDR_RTX
with an ifdef)?



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