This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Dwarf2 question
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: gcc at gcc dot gnu dot org
- Date: Wed, 26 Mar 2003 16:06:45 +0100
- Subject: Dwarf2 question
Hi,
This is related to high-priority PR target/10114 on Sparc.
GCC dies because it can't generate a memory location for
(gdb) p debug_tree(decl)
<var_decl 0x40188258 previous_skew
type <real_type 0x40157bb8 double asm_written DF
size <integer_cst 0x4014d8e0 constant 64>
unit size <integer_cst 0x4014db00 constant 8>
align 64 symtab 137966584 alias set -1 precision 64
pointer_to_this <pointer_type 0x4015d0f0>>
used DF file ../pr10114.c line 22 size <integer_cst 0x4014d8e0 64> unit
size <integer_cst 0x4014db00 8>
align 64 context <function_decl 0x40188168 REF_SetReference>
(mem/f:DF (lo_sum:SI (reg/f:SI 16 %l0 [118])
(symbol_ref:SI ("our_skew"))) [0 our_skew+0 S8 A64]) chain <var_decl
0x401882d0 new_skew>>
The problem is the LO_SUM inside the MEM, that mem_loc_descriptor doesn't
know how to handle. It is produced by the reload-after-global-alloc pass
because the pseudo-reg which used to represent the variable is useless and
thus eliminated.
Would it make any sense to teach mem_loc_descriptor to pass through the
LO_SUM in search of a SYMBOL_REF?
--
Eric Botcazou