/*----------------------------------------------------------------------
DW_TAG_compile_unit
+ (Not Used)
+ DW_AT_producer
+ DW_AT_language
+ DW_AT_comp_dir
+ (0x2134)
----------------------------------------------------------------------*/
LIBGOBLIN_DWARF_TAG_COMPILEUNIT_EXTERN
int
{ DW_TAG_namelist, DWARF_Tag_NotClang_UnImplement }, // 0x2b: notclang
{ DW_TAG_namelist_item, DWARF_Tag_NotClang_UnImplement }, // 0x2c: notclang
{ DW_TAG_packed_type, DWARF_Tag_NotClang_UnImplement }, // 0x2d: notclang
-{ DW_TAG_subprogram, DWARF_Tag_Function_UnImplement }, // 0x2e: function
+{ DW_TAG_subprogram, DWARF_Tag_Function_subprogram }, // 0x2e: function
{ DW_TAG_template_type_parameter,DWARF_Tag_Class_UnImplement }, // 0x2f: class
// = DW_TAG_template_type_param
#include"drd64_libgoblin.h"
/*----------------------------------------------------------------------
-DW_TAG_subprogram
DW_TAG_inlined_subroutine
DW_TAG_lexical_block
DW_TAG_label
return 0x00;
}
+
/*----------------------------------------------------------------------
+ DW_TAG_subprogram
+ (Not Used)
+ DW_AT_name
+ DW_AT_decl_file
+ DW_AT_decl_line
+ DW_AT_prototyped
+ DW_AT_inline
+
+ DW_AT_low_pc
+ DW_AT_high_pc
+ DW_AT_frame_base
+ DW_AT_external
+ DW_AT_type
----------------------------------------------------------------------*/
+LIBGOBLIN_DWARF_TAG_FUNCTION_EXTERN
+int
+ DWARF_Tag_Function_subprogram(
+ DWord dw_tag,
+ LibGoblin_BinaryInfo *p_binfo,
+ int i_childlv,
+ LibGoblin_DWARF_Info_Ancestry *p_ancestry,
+ LibGoblin_DWARF_Info_CUHeader *p_cuheader )
+{
+
+
+
+ printf( " UnImplement DW_TAG_subprogram: %s [%02xh]\n",
+ Debug_DWARF_GetTAGname( dw_tag ), dw_tag );
+ return 0x00;
+}
+
int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry,
LibGoblin_DWARF_Info_CUHeader *p_cuheader );
+LIBGOBLIN_DWARF_TAG_FUNCTION_EXTERN
+ int DWARF_Tag_Function_subprogram(
+ DWord dw_tag, LibGoblin_BinaryInfo *p_binfo,
+ int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry,
+ LibGoblin_DWARF_Info_CUHeader *p_cuheader );
+
#endif /* DRD64_HEADER_LIBGOBLIN_BINFO */