This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Mainline is broken on ia64
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: gcc at gcc dot gnu dot org, zadeck at naturalbridge dot com, gcc-patches at gcc dot gnu dot org
- Date: Fri, 27 Jan 2006 20:01:58 -0500
- Subject: Re: Mainline is broken on ia64
- Openpgp: id=51E507AC
- References: <20060127225600.GA23080@lucon.org> <43DAAAC9.8010801@dberlin.org> <20060128010006.GA24535@lucon.org>
H. J. Lu wrote:
> On Fri, Jan 27, 2006 at 06:20:41PM -0500, Daniel Berlin wrote:
>> 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)?
>>
>
> This patch works for me.
>
>
IMHO, you should commit it as obvious then.