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);