Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Jan 2014 10:35:33 +0100
From:      Roman Divacky <rdivacky@freebsd.org>
To:        Kai Wang <kaiw@FreeBSD.org>
Cc:        svn-src-projects@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r260855 - projects/elftoolchain/contrib/elftoolchain/libdwarf
Message-ID:  <20140119093533.GA98138@freebsd.org>
In-Reply-To: <201401181759.s0IHxMJK067711@svn.freebsd.org>
References:  <201401181759.s0IHxMJK067711@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Nice progress!

I hope all those fixes will make it upstream :)

On Sat, Jan 18, 2014 at 05:59:22PM +0000, Kai Wang wrote:
> Author: kaiw
> Date: Sat Jan 18 17:59:22 2014
> New Revision: 260855
> URL: http://svnweb.freebsd.org/changeset/base/260855
> 
> Log:
>   API dwarf_attrval_flag() should properly handle an attribute with
>   (DWARF4) form DW_FORM_flag_present which implicitly indicates the
>   presence of the attribute. Manual page is updated to reflect this
>   change.
>   
>   Note that this was previously fixed in the old libdwarf.
> 
> Modified:
>   projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval.c
>   projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3
> 
> Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval.c
> ==============================================================================
> --- projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval.c	Sat Jan 18 17:49:32 2014	(r260854)
> +++ projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval.c	Sat Jan 18 17:59:22 2014	(r260855)
> @@ -50,6 +50,7 @@ dwarf_attrval_flag(Dwarf_Die die, Dwarf_
>  
>  	switch (at->at_form) {
>  	case DW_FORM_flag:
> +	case DW_FORM_flag_present:
>  		*valp = (Dwarf_Bool) (!!at->u[0].u64);
>  		break;
>  	default:
> 
> Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3
> ==============================================================================
> --- projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3	Sat Jan 18 17:49:32 2014	(r260854)
> +++ projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3	Sat Jan 18 17:59:22 2014	(r260855)
> @@ -24,7 +24,7 @@
>  .\"
>  .\" $Id: dwarf_attrval_signed.3 2072 2011-10-27 03:26:49Z jkoshy $
>  .\"
> -.Dd January 29, 2011
> +.Dd January 18, 2014
>  .Os
>  .Dt DWARF_ATTRVAL_SIGNED 3
>  .Sh NAME
> @@ -84,13 +84,28 @@ Function
>  .Fn dwarf_attrval_flag
>  sets the location pointed to by argument
>  .Ar ret
> -to 1 if the attribute named by argument
> +to either 0 or 1. If the form of the attribute named by argument
>  .Ar attr
> -has a non-zero value, or to 0 otherwise.
> -The form of the attribute named by argument
> +is
> +.Dv DW_FORM_flag ,
> +function
> +.Fn dwarf_attrval_flag
> +sets the location pointed to by argument
> +.Ar ret
> +to 1 if the attribute has a non-zero value, or to 0 otherwise.
> +If the form of the attribute named by argument
>  .Ar attr
> -must be
> -.Dv DW_FORM_flag .
> +is
> +.Dv DW_FORM_flag_present , 
> +function
> +.Fn dwarf_attrval_flag
> +unconditionally sets the location pointed to by argument
> +.Ar ret
> +to 1.
> +The form of the attribute must be one of
> +.Dv DW_FORM_flag
> +or
> +.Dv DW_FORM_flag_present .
>  .Pp
>  Function
>  .Fn dwarf_attrval_signed
> @@ -122,7 +137,7 @@ attribute named by argument
>  The form of the attribute must be one of
>  .Dv DW_FORM_string
>  or
> -.Dv  DW_FORM_strp .
> +.Dv DW_FORM_strp .
>  .Pp
>  Function
>  .Fn dwarf_attrval_unsigned



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140119093533.GA98138>