From bce31eee286b3b9b41f60e44143f4ff89ee16cbc Mon Sep 17 00:00:00 2001 From: "Koine Yuusuke(koinec)" Date: Mon, 19 Aug 2019 14:07:16 +0900 Subject: [PATCH] (LibGoblin) * WorkBackup --- libgoblin/drd64_libgoblin_dwarf_tag_array.c | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_array.h | 5 +++-- libgoblin/drd64_libgoblin_dwarf_tag_class.c | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_class.h | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_compileunit.c | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_compileunit.h | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_dispatch.c | 12 +++++++++--- libgoblin/drd64_libgoblin_dwarf_tag_dispatch.h | 11 ++++++++++- libgoblin/drd64_libgoblin_dwarf_tag_exception.c | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_exception.h | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_function.c | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_function.h | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_notclang.c | 6 +++--- libgoblin/drd64_libgoblin_dwarf_tag_notclang.h | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_parameter.c | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_parameter.h | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_struct.c | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_struct.h | 5 +++-- libgoblin/drd64_libgoblin_dwarf_tag_type.c | 4 +++- libgoblin/drd64_libgoblin_dwarf_tag_type.h | 4 +++- 20 files changed, 73 insertions(+), 26 deletions(-) diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_array.c b/libgoblin/drd64_libgoblin_dwarf_tag_array.c index 5f0b52b..33b7361 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_array.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_array.c @@ -50,7 +50,9 @@ LIBGOBLIN_DWARF_TAG_ARRAY_EXTERN int DWARF_Tag_Array_UnImplement( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { printf( " UnImplement DWARF Tag(Array): %s [%02xh]\n", Debug_DWARF_GetTAGname( dw_tag ), dw_tag ); diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_array.h b/libgoblin/drd64_libgoblin_dwarf_tag_array.h index 5f5598c..3f72a58 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_array.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_array.h @@ -46,8 +46,9 @@ Comment: #endif LIBGOBLIN_DWARF_TAG_ARRAY_EXTERN - int DWARF_Tag_Array_UnImplement( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); - + int DWARF_Tag_Array_UnImplement( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */ diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_class.c b/libgoblin/drd64_libgoblin_dwarf_tag_class.c index 2598b94..d7d3666 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_class.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_class.c @@ -56,7 +56,9 @@ LIBGOBLIN_DWARF_TAG_CLASS_EXTERN int DWARF_Tag_Class_UnImplement( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { printf( " UnImplement DWARF Tag(Class): %s [%02xh]\n", Debug_DWARF_GetTAGname( dw_tag ), dw_tag ); diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_class.h b/libgoblin/drd64_libgoblin_dwarf_tag_class.h index c5e168a..e541018 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_class.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_class.h @@ -46,7 +46,9 @@ Comment: #endif LIBGOBLIN_DWARF_TAG_CLASS_EXTERN - int DWARF_Tag_Class_UnImplement( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); + int DWARF_Tag_Class_UnImplement( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */ diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_compileunit.c b/libgoblin/drd64_libgoblin_dwarf_tag_compileunit.c index e476236..5e8068f 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_compileunit.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_compileunit.c @@ -49,7 +49,9 @@ LIBGOBLIN_DWARF_TAG_COMPILEUNIT_EXTERN int DWARF_Tag_CompileUnit_UnImplement( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { printf( " UnImplement DWARF Tag(CompileUnit): %s [%02xh]\n", Debug_DWARF_GetTAGname( dw_tag ), dw_tag ); diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_compileunit.h b/libgoblin/drd64_libgoblin_dwarf_tag_compileunit.h index e6b323d..1b50ca5 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_compileunit.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_compileunit.h @@ -46,7 +46,9 @@ Comment: #endif LIBGOBLIN_DWARF_TAG_COMPILEUNIT_EXTERN - int DWARF_Tag_CompileUnit_UnImplement( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); + int DWARF_Tag_CompileUnit_UnImplement( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */ diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_dispatch.c b/libgoblin/drd64_libgoblin_dwarf_tag_dispatch.c index 7c1f789..7782a6f 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_dispatch.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_dispatch.c @@ -39,10 +39,13 @@ Comment: /*---------------------------------------------------------------------- ----------------------------------------------------------------------*/ +LIBGOBLIN_DWARF_TAG_DISPATCH_EXTERN int DWARF_Tag_Dispatch_UnknownTag( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { // XXX printf( " ERROR: Unknown DWARF Tag: %02xh\n", dw_tag); @@ -63,8 +66,11 @@ int int i_result; DWord dw_cnt; DWord dw_tag; - int (* DWARF_Tag_Proc)( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); + int (* DWARF_Tag_Proc)( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); +//printf("debug: %d\n", (p_ancestry + 10)->i_objid); DWARF_Tag_Proc = NULL; dw_tag = p_abbrev->dw_tag; @@ -82,7 +88,7 @@ int { DWARF_Tag_Proc = DWARF_Tag_Dispatch_UnknownTag; } assert( NULL != DWARF_Tag_Proc ); - i_result = DWARF_Tag_Proc( dw_tag, p_binfo ); + i_result = DWARF_Tag_Proc( dw_tag, p_binfo, i_childlv, p_ancestry ); return 0x00; } diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_dispatch.h b/libgoblin/drd64_libgoblin_dwarf_tag_dispatch.h index a94bcba..122ad57 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_dispatch.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_dispatch.h @@ -50,11 +50,20 @@ Comment: typedef struct { DWord dw_tag; - int (* DWARF_Tag_Proc)( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); + int (* DWARF_Tag_Proc)( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); } DWARF_TagFunction; LIBGOBLIN_DWARF_TAG_DISPATCH_EXTERN + int DWARF_Tag_Dispatch_UnknownTag( + DWord dw_tag, + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ); + +LIBGOBLIN_DWARF_TAG_DISPATCH_EXTERN int DWARF_Tag_Dispatch( LibGoblin_BinaryInfo *p_binfo, DWARF_AbbrevEntry *p_abbrev, diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_exception.c b/libgoblin/drd64_libgoblin_dwarf_tag_exception.c index 6dd8fec..40445b9 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_exception.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_exception.c @@ -49,7 +49,9 @@ LIBGOBLIN_DWARF_TAG_EXCEPTION_EXTERN int DWARF_Tag_Exception_UnImplement( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { printf( " UnImplement DWARF Tag(Exception): %s [%02xh]\n", Debug_DWARF_GetTAGname( dw_tag ), dw_tag ); diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_exception.h b/libgoblin/drd64_libgoblin_dwarf_tag_exception.h index 97925cd..642dc3f 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_exception.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_exception.h @@ -46,7 +46,9 @@ Comment: #endif LIBGOBLIN_DWARF_TAG_EXCEPTION_EXTERN - int DWARF_Tag_Exception_UnImplement( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); + int DWARF_Tag_Exception_UnImplement( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */ diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_function.c b/libgoblin/drd64_libgoblin_dwarf_tag_function.c index a2017ba..aecb873 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_function.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_function.c @@ -50,7 +50,9 @@ LIBGOBLIN_DWARF_TAG_FUNCTION_EXTERN int DWARF_Tag_Function_UnImplement( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { printf( " UnImplement DWARF Tag(Function): %s [%02xh]\n", Debug_DWARF_GetTAGname( dw_tag ), dw_tag ); diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_function.h b/libgoblin/drd64_libgoblin_dwarf_tag_function.h index 2d14ca6..d335ea7 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_function.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_function.h @@ -46,7 +46,9 @@ Comment: #endif LIBGOBLIN_DWARF_TAG_FUNCTION_EXTERN - int DWARF_Tag_Function_UnImplement( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); + int DWARF_Tag_Function_UnImplement( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */ diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_notclang.c b/libgoblin/drd64_libgoblin_dwarf_tag_notclang.c index 95f639a..31bc48c 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_notclang.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_notclang.c @@ -57,8 +57,6 @@ Comment: DW_TAG_shared_type DW_TAG_variant_part - DW_TAG_partial_unit - DW_TAG_imported_unit ----------------------------------------------------------------------*/ /*---------------------------------------------------------------------- @@ -67,7 +65,9 @@ LIBGOBLIN_DWARF_TAG_NOTCLANG_EXTERN int DWARF_Tag_NotClang_UnImplement( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { printf( " UnImplement DWARF Tag(Not C/C++ Lang.): %s [%02xh]\n", Debug_DWARF_GetTAGname( dw_tag ), dw_tag ); diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_notclang.h b/libgoblin/drd64_libgoblin_dwarf_tag_notclang.h index c8b6774..f2ae21d 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_notclang.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_notclang.h @@ -46,7 +46,9 @@ Comment: #endif LIBGOBLIN_DWARF_TAG_NOTCLANG_EXTERN - int DWARF_Tag_NotClang_UnImplement( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); + int DWARF_Tag_NotClang_UnImplement( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */ diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_parameter.c b/libgoblin/drd64_libgoblin_dwarf_tag_parameter.c index e1784b9..2a14517 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_parameter.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_parameter.c @@ -50,7 +50,9 @@ LIBGOBLIN_DWARF_TAG_PARAMETER_EXTERN int DWARF_Tag_Parameter_UnImplement( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { printf( " UnImplement DWARF Tag(Parameter): %s [%02xh]\n", Debug_DWARF_GetTAGname( dw_tag ), dw_tag ); diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_parameter.h b/libgoblin/drd64_libgoblin_dwarf_tag_parameter.h index 31e1439..62425ef 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_parameter.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_parameter.h @@ -46,7 +46,9 @@ Comment: #endif LIBGOBLIN_DWARF_TAG_PARAMETER_EXTERN - int DWARF_Tag_Parameter_UnImplement( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); + int DWARF_Tag_Parameter_UnImplement( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */ diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_struct.c b/libgoblin/drd64_libgoblin_dwarf_tag_struct.c index 3c4d459..a445e69 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_struct.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_struct.c @@ -50,7 +50,9 @@ LIBGOBLIN_DWARF_TAG_STRUCT_EXTERN int DWARF_Tag_Struct_UnImplement( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { printf( " UnImplement DWARF Tag(Struct): %s [%02xh]\n", Debug_DWARF_GetTAGname( dw_tag ), dw_tag ); diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_struct.h b/libgoblin/drd64_libgoblin_dwarf_tag_struct.h index 8d3aae7..ad0dcb9 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_struct.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_struct.h @@ -46,8 +46,9 @@ Comment: #endif LIBGOBLIN_DWARF_TAG_STRUCT_EXTERN - int DWARF_Tag_Struct_UnImplement( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); - + int DWARF_Tag_Struct_UnImplement( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */ diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_type.c b/libgoblin/drd64_libgoblin_dwarf_tag_type.c index eadb0ce..af4ed40 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_type.c +++ b/libgoblin/drd64_libgoblin_dwarf_tag_type.c @@ -56,7 +56,9 @@ LIBGOBLIN_DWARF_TAG_TYPE_EXTERN int DWARF_Tag_Type_UnImplement( DWord dw_tag, - LibGoblin_BinaryInfo *p_binfo ) + LibGoblin_BinaryInfo *p_binfo, + int i_childlv, + LibGoblin_DWARF_Info_Ancestry *p_ancestry ) { printf( " UnImplement DWARF Tag(Type): %s [%02xh]\n", Debug_DWARF_GetTAGname( dw_tag ), dw_tag ); diff --git a/libgoblin/drd64_libgoblin_dwarf_tag_type.h b/libgoblin/drd64_libgoblin_dwarf_tag_type.h index a1c8815..5856f58 100644 --- a/libgoblin/drd64_libgoblin_dwarf_tag_type.h +++ b/libgoblin/drd64_libgoblin_dwarf_tag_type.h @@ -46,7 +46,9 @@ Comment: #endif LIBGOBLIN_DWARF_TAG_TYPE_EXTERN - int DWARF_Tag_Type_UnImplement( DWord dw_tag, LibGoblin_BinaryInfo *p_binfo ); + int DWARF_Tag_Type_UnImplement( + DWord dw_tag, LibGoblin_BinaryInfo *p_binfo, + int i_childlv, LibGoblin_DWARF_Info_Ancestry *p_ancestry ); #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */ -- 2.11.0