File libdwarf-dwarf3-dw_attributes.patch of Package libdwarf

commit 518e98bf6edc9051ff9c64120a8057c2abbd71de
Author: Daniel Gollub <dgollub@suse.de>
Date:   Wed Oct 8 11:43:55 2008 +0200

    Allow attribute DW_AT_const_value in dwarf_add_AT_targ_address_b().
    GCC generates code which has DW_AT_const_value with DW_FORM_addr.
    
    Additional DWARF3 enhancments:
     - allow DW_AT_entry_pc in dwarf_add_AT_targ_address_b()
     - allow DW_AT_call_column, DW_AT_call_file, DW_AT_call_line in
       dwarf_add_AT_unsigned_const

Signed-off-by: Daniel Gollub <dgollub@suse.de>

---

diff --git a/libdwarf/pro_forms.c b/libdwarf/pro_forms.c
index 5bc02c5..d6d928a 100644
--- a/libdwarf/pro_forms.c
+++ b/libdwarf/pro_forms.c
@@ -115,9 +115,14 @@ dwarf_add_AT_targ_address_b(Dwarf_P_Debug dbg,
     case DW_AT_static_link:
     case DW_AT_use_location:
     case DW_AT_vtable_elem_location:
+    case DW_AT_const_value:
 	
 	break;
 
+    /* DWARF3 */
+    case DW_AT_entry_pc:
+	break;
+
     default: 
 	if ( attr < DW_AT_lo_user || attr > DW_AT_hi_user ) {
 	    _dwarf_p_error(dbg, error, DW_DLE_INPUT_ATTR_BAD);
@@ -488,6 +493,12 @@ dwarf_add_AT_unsigned_const(Dwarf_P_Debug dbg,
     case DW_AT_lower_bound:
 	break;
 
+    /* DWARF3 */
+    case DW_AT_call_column:
+    case DW_AT_call_file:
+    case DW_AT_call_line:
+	break;
+
         default: {
 	         if ( attr < DW_AT_lo_user || attr > DW_AT_hi_user ) {
 	             _dwarf_p_error(dbg, error, DW_DLE_INPUT_ATTR_BAD);
openSUSE Build Service is sponsored by