This is the mail archive of the gcc-patches@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: [RFC/CFT] Hookize TARGET_UNWIND_INFO and related macros


On 09/17/2010 11:02 AM, Steve Ellcey wrote:
> Richard,
> 
> I finally has some time to test this patch on IA64 HP-UX and Linux and I
> got build failures on both systems.  Using a preprocessed version of
> libgcov.c I see:
> 
>  $ obj_gcc/gcc/cc1 -mlp64 -O2 -g -quiet x.i
> x.i: In function 'gcov_exit':
> x.i:3169:1: internal compiler error: in dwarf2out_frame_debug_expr, at
> dwarf2out.c:2304
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> 
> Looks like it is failing on this assert:
> 
>              /* Saving a register in a register.  */
>               gcc_assert (!fixed_regs [REGNO (dest)]
>                           /* For the SPARC and its register window.  */
>                           || (DWARF_FRAME_REGNUM (REGNO (src))
>                               == DWARF_FRAME_RETURN_COLUMN));

Hum.  So it looks like we'd be much better off if we could eliminate

  /* We want to emit correct CFA location expressions or lists, so we
     have to return true if we're going to output debug info, even if
     we're not going to output frame or unwind info.  */

Assuming we have dwarf3, and the use of DW_OP_call_frame_cfa, then
we don't need to generate those location lists.  What do you think
of forcing dwarf_version >= 3 for IA-64?  Would that cripple hpux?


r~


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