This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GDB 6.3 assumes that DW_AT_frame_base exists
On Thu, Dec 30, 2004 at 11:24:24AM -0800, H. J. Lu wrote:
> On Wed, Dec 22, 2004 at 10:43:19PM -0500, Daniel Jacobowitz wrote:
> > On Wed, Dec 22, 2004 at 10:24:49AM -0800, H. J. Lu wrote:
> > > > GDB not being able to debug GCC is a GDB problem. (Or possibly a
> > > > problem of the compiler than was used to compile the GCC being
> > > > debugged). Either way I am pretty sure that readelf is blameless in
> > > > this situation.
> > >
> > > I think gcc may be correct and gdb just can't handle location list
> > > correctly.
> >
> > If you believe there is a GDB bug, please submit a bug report with
> > self-contained test case.
>
> I don't know if it is a gcc or gdb bug, and I don't have a
> self-contained testcase. The only thing I see is gdb crushes on
> cc1 from gcc 4.0. It seems that gdb 6.3 assumes DW_AT_frame_base
> exists for a function. But not all functions in cc1 in gcc 4.0
> have DW_AT_frame_base and gdb 6.3 crushes in dwarf_expr_frame_base.
I think it is a gdb 6.3 bug since idb has no problem. When evaluating
a location list, gdb does
...
ctx->get_frame_base = dwarf_expr_frame_base;
...
dwarf_expr_frame_base uses DW_AT_frame_base to get frame base. Since
DW_AT_frame_base doesn't exist for tls_symbolic_operand, gdb crushes.
H.J.