[PATCH] libdw: fix offset for sig8 lookup in dwarf_formref_die

Mark Wielaard mjw at redhat.com
Wed Jan 14 16:47:46 UTC 2015


On Wed, 2015-01-14 at 09:26 -0500, Jason P. Leasure wrote:
> The type_offset of a type unit header is relative to the beginning
> of the type unit header.
> 
> Signed-off-by: Jason P. Leasure <jpleasu at super.org>
> ---
>  libdw/dwarf_formref_die.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libdw/dwarf_formref_die.c b/libdw/dwarf_formref_die.c
> index 63f6697..8b92e22 100644
> --- a/libdw/dwarf_formref_die.c
> +++ b/libdw/dwarf_formref_die.c
> @@ -95,7 +95,7 @@ dwarf_formref_die (attr, result)
>  
>        datap = cu->dbg->sectiondata[IDX_debug_types]->d_buf;
>        size = cu->dbg->sectiondata[IDX_debug_types]->d_size;
> -      offset = cu->type_offset;
> +      offset = cu->start + cu->type_offset;

Thanks, I believe this is correct. I am surprised we didn't encounter
this earlier. Do you happen to have a testcase for it?

Cheers,

Mark


More information about the elfutils-devel mailing list