This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Variable tracking (location lists support) - part 2
- From: Kazu Hirata <kazu at cs dot umass dot edu>
- To: zlomj9am at artax dot karlin dot mff dot cuni dot cz
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 11 Feb 2004 09:21:14 -0500 (EST)
- Subject: Re: Variable tracking (location lists support) - part 2
- References: <20040202203715.GA2379@artax.karlin.mff.cuni.cz>
Hi Josef,
> this patch adds location list support to dwarf2out.c.
> This generates the location list debug info from the NOTE_INSN_VAR_LOCATION
> notes produces by the first patch of variable tracking.
>
> Bootstrapped/regtested x86-64 (standalone and together with the first part).
>
> Josef
>
> 2004-02-02 Daniel Berlin <dberlin@dberlin.org>
> Josef Zlomek <zlomekj@suse.cz>
>
> * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
> :
> :
This patch unfortunately breaks the build of h8300-elf. Specifically,
I get assembler errors while compiling muldi3 of libgcc2.c. Here is a
minimized testcase and the errors I get.
int
foo (int a)
{
return a;
}
/tmp/cchHQ5CR.s: Assembler messages:
/tmp/cchHQ5CR.s:75: Error: can't resolve `.LVL0' {.text section} - `_.text' {*UND* section}
/tmp/cchHQ5CR.s:76: Error: can't resolve `.LVL1' {.text section} - `_.text' {*UND* section}
/tmp/cchHQ5CR.s:75: Error: Difference of symbols in different sections is not supported
/tmp/cchHQ5CR.s:76: Error: Difference of symbols in different sections is not supported
Compiling the above testcase, GCC with your patch outputs several new
lines compared to what GCC outputs without your patch, some of which
are
.2byte .LVL0-_.text
.2byte .LVL1-_.text
gas for H8 does not support a difference of two labels. I am not
familiar with debugging formats. Does dwarf2 require a difference of
two labels? Is there a way around it?
Thanks,
Kazu Hirata