OSDN Git Service

(LibGoblin)
[drdeamon64/drdeamon64.git] / libgoblin / drd64_libgoblin_type.h
index 7a078c7..99cbe01 100644 (file)
@@ -39,11 +39,12 @@ Comment:
 
 
 /*=====================================================================*/
+/*
 typedef union  {
        int             i_obj_id;
        Byte    *pb_info;
 } LibGoblin_ObjInfo_Link;
-
+*/
 
 /*=====================================================================*/
 typedef        struct  {
@@ -95,13 +96,14 @@ typedef struct      {
 #define        OBJINFO_TYPE_PROGHDR            0x03
 #define        OBJINFO_TYPE_SECTION            0x04
 #define        OBJINFO_TYPE_OBJFILE            0x05
-#define        OBJINFO_TYPE_FUNCTION           0x06
-#define        OBJINFO_TYPE_OBJECT                     0x07
-#define        OBJINFO_TYPE_COMMON                     0x08
-#define        OBJINFO_TYPE_TLS                        0x09
-#define        OBJINFO_TYPE_REL                        0x0a
-#define        OBJINFO_TYPE_TYPE_SINGLE        0x0e
-#define        OBJINFO_TYPE_TYPE_MULTI         0x0f
+#define        OBJINFO_TYPE_TYPE_MULTI         0x06
+#define        OBJINFO_TYPE_TYPE_SINGLE        0x07
+#define        OBJINFO_TYPE_TYPEDEF            0x08
+#define        OBJINFO_TYPE_FUNCTION           0x09
+#define        OBJINFO_TYPE_OBJECT                     0x0a
+#define        OBJINFO_TYPE_COMMON                     0x0b
+#define        OBJINFO_TYPE_TLS                        0x0c
+#define        OBJINFO_TYPE_REL                        0x0d
 #define        OBJINFO_TYPE_NONE                       0x7f
 
 typedef        struct  {
@@ -188,20 +190,32 @@ typedef   struct  {
                } objfile;
 
                struct  {
-                       Byte    b_type;                 // st_info - Type and binding information.
-                       Byte    b_binding;              // st_info - Type and binding information.
-                       Byte    b_visibility;   // st_other - Reserved (not used).
-                       Word    w_secindex;             // st_shndx - Section index of symbol.
-               } symbol;
-
-               struct  {
                        DWord   dw_size;
-                       LibGoblin_ObjInfo_Link          t_link;
+                       Byte    b_encoding;
+                       Byte    b_bit_offset;
+                       Byte    b_bit_size;
+                       Byte    b_endianity;
+                       Byte    b_addr_class;
+                       Byte    b_prototyped;
                } type;
 
+               struct  {
+                       int             i_objid_parent;
+                       Byte    b_prototyped;
+                       Byte    b_external;
+                       Byte    b_inline;
+
+               } function;
        } info;
 
        struct  {
+               Byte    b_type;                 // st_info - Type and binding information.
+               Byte    b_binding;              // st_info - Type and binding information.
+               Byte    b_visibility;   // st_other - Reserved (not used).
+               Word    w_secindex;             // st_shndx - Section index of symbol.
+       } elfsym;
+
+       struct  {
                int             i_binfo_origin;
                int             i_dynsym_index;
 
@@ -215,10 +229,13 @@ typedef   struct  {
        struct  {
                Byte    *pb_info;
 
+               int             i_objid_type;
+               Byte    *pb_dwinfo_type;
        } dwarf;
 
        int             i_secid;
        int             i_srcid;                // SourceInfo struct ID
+       DWord   dw_srcline;
 
        Byte    b_elf_flags;
        Word    w_secid;                // ==OLD== SectionInfo ItemIndex belong with this object.
@@ -304,6 +321,10 @@ typedef struct     {
                DWARF_AbbrevEntry       *p_abbrev;
                QWord                           qw_abbrev_unreadsz;
 
+               LibGoblin_Index_DWARFInfo       *p_offset;
+               int                                     i_alloced_offset;
+               int                                     i_max_offset;
+
                int                                     i_objfiles;
 
                int                                     i_maxvals;
@@ -426,9 +447,6 @@ typedef     struct  {
                int                                             i_used;         // ObjectInfo Items
                int                                             i_topid;        // Top-Ptr ObjectInfo
 
-               LibGoblin_Index_DWARFInfo       *p_offset;
-               int                                             i_alloced_offset;
-               int                                             i_max_offset;
        } objinfo;
        LibGoblin_AddressInfo   *p_addrinfo;