- //register_attribute(DW_AT_type, DW_FORM_ref4);
- register_attribute(DW_AT_external, DW_FORM_flag);
- register_attribute(DW_AT_low_pc, DW_FORM_addr);
- register_attribute(DW_AT_high_pc, DW_FORM_addr);
- //register_attribute(DW_AT_frame_base, DW_FORM_block1);
+ if (debug_level >= LEVEL_FRAMEINFO)
+ register_attribute(DW_AT_frame_base, DW_FORM_block1);
+ end_abbrev();
+
+ begin_abbrev(abbrev_void_subprogram, DW_TAG_subprogram, DW_CHILDREN_yes);
+ register_attribute(DW_AT_name, DW_FORM_string);
+ register_dbginfo_attributes();
+ register_attribute(DW_AT_external, DW_FORM_flag);
+ register_attribute(DW_AT_low_pc, DW_FORM_addr);
+ register_attribute(DW_AT_high_pc, DW_FORM_addr);
+ //register_attribute(DW_AT_prototyped, DW_FORM_flag);
+ if (debug_level >= LEVEL_FRAMEINFO)
+ register_attribute(DW_AT_frame_base, DW_FORM_block1);
+ end_abbrev();
+
+ begin_abbrev(abbrev_formal_parameter, DW_TAG_formal_parameter,
+ DW_CHILDREN_no);
+ register_attribute(DW_AT_name, DW_FORM_string);
+ register_dbginfo_attributes();
+ register_attribute(DW_AT_type, DW_FORM_ref4);
+ register_attribute(DW_AT_location, DW_FORM_block1);
+ end_abbrev();
+
+ begin_abbrev(abbrev_formal_parameter_no_location, DW_TAG_formal_parameter,
+ DW_CHILDREN_no);
+ register_attribute(DW_AT_name, DW_FORM_string);
+ register_dbginfo_attributes();
+ register_attribute(DW_AT_type, DW_FORM_ref4);