⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hp-symtab.h

📁 基于4个mips核的noc设计
💻 H
📖 第 1 页 / 共 5 页
字号:
   ADDRESS points to an SLT entry from which line number and code locations   may be determined.   ENTRYADDR is the memory address corresponding the the function's entry point   RETVAL points to a LNTT entry describing the function's return value.   LOWADDR is the lowest memory address associated with this function.   HIADDR is the highest memory address associated with this function.  */struct dntt_type_function{  unsigned int extension:	1;  unsigned int kind:		10;	/* DNTT_TYPE_FUNCTION,				           DNTT_TYPE_ENTRY,					   DNTT_TYPE_BLOCKDATA					   or DNTT_TYPE_MEMFUNC */  unsigned int global:		1;  unsigned int language:	4;  unsigned int nest_level:	5;  unsigned int opt_level:	2;  unsigned int varargs:		1;  unsigned int lang_info:	4;  unsigned int inlined:		1;  unsigned int localalloc:	1;  unsigned int expansion:	1;  unsigned int unused:		1;  vtpointer name;  vtpointer alias;  dnttpointer firstparam;  sltpointer address;  CORE_ADDR entryaddr;  dnttpointer retval;  CORE_ADDR lowaddr;  CORE_ADDR hiaddr;};/* DNTT_TYPE_BEGIN:   A DNTT_TYPE_BEGIN symbol is emitted to begin a new nested scope.   Every DNTT_TYPE_BEGIN symbol must have a matching DNTT_TYPE_END symbol.   CLASSFLAG is nonzero if this is the beginning of a c++ class definition.   ADDRESS points to an SLT entry from which line number and code locations   may be determined.  */struct dntt_type_begin{  unsigned int extension:	1;  unsigned int kind:		10;  unsigned int classflag:	1;  unsigned int unused:		20;  sltpointer address;};/* DNTT_TYPE_END:   A DNTT_TYPE_END symbol is emitted when closing a scope started by   a DNTT_TYPE_MODULE, DNTT_TYPE_FUNCTION, DNTT_TYPE_WITH,   DNTT_TYPE_COMMON, DNTT_TYPE_BEGIN, and DNTT_TYPE_CLASS_SCOPE symbols.   ENDKIND describes what type of scope the DNTT_TYPE_END is closing   (one of the above 6 kinds).   CLASSFLAG is nonzero if this is the end of a c++ class definition.   ADDRESS points to an SLT entry from which line number and code locations   may be determined.   BEGINSCOPE points to the LNTT entry which opened the scope.  */struct dntt_type_end{  unsigned int extension:	1;  unsigned int kind:		10;  unsigned int endkind:		10;  unsigned int classflag:	1;  unsigned int unused:		10;  sltpointer address;  dnttpointer beginscope;};/* DNTT_TYPE_IMPORT is unused by GDB.  *//* DNTT_TYPE_LABEL is unused by GDB.  *//* DNTT_TYPE_FPARAM:   A DNTT_TYPE_FPARAM symbol is emitted for a function argument.  When   chained together the symbols represent an argument list for a function.   REGPARAM is nonzero if this parameter was passed in a register.   INDIRECT is nonzero if this parameter is a pointer to the parameter   (pass by reference or pass by value for large items).   LONGADDR is nonzero if the parameter is a 64bit pointer.   NAME is a pointer into the VT for the parameter's name.   LOCATION describes where the parameter is stored.  Depending on the   parameter type LOCATION could be a register number, or an offset   from the stack pointer.   TYPE points to a NTT entry describing the type of this parameter.   NEXTPARAM points to the LNTT entry describing the next parameter.  */struct dntt_type_fparam{  unsigned int extension:	1;  unsigned int kind:		10;  unsigned int regparam:	1;  unsigned int indirect:	1;  unsigned int longaddr:	1;  unsigned int copyparam:	1;  unsigned int dflt:		1;  unsigned int doc_ranges:	1;  unsigned int misc_kind:       1;  unsigned int unused:		14;  vtpointer name;  CORE_ADDR location;  dnttpointer type;  dnttpointer nextparam;  int misc;};/* DNTT_TYPE_SVAR:   A DNTT_TYPE_SVAR is emitted to describe a variable in static storage.   GLOBAL is nonzero if the variable has global scope.   INDIRECT is nonzero if the variable is a pointer to an object.   LONGADDR is nonzero if the variable is in long pointer space.   STATICMEM is nonzero if the variable is a member of a class.   A_UNION is nonzero if the variable is an anonymous union member.   NAME is a pointer into the VT for the variable's name.   LOCATION provides the memory address for the variable.   TYPE is a pointer into either the GNTT or LNTT which describes   the type of this variable.  */struct dntt_type_svar{  unsigned int extension:	1;  unsigned int kind:		10;  unsigned int global:		1;  unsigned int indirect:	1;  unsigned int longaddr:	1;  unsigned int staticmem:	1;  unsigned int a_union:		1;  unsigned int unused1:         1;  unsigned int thread_specific: 1;  unsigned int unused2:         14;  vtpointer name;  CORE_ADDR location;  dnttpointer type;  unsigned int offset;  unsigned int displacement;};/* DNTT_TYPE_DVAR:   A DNTT_TYPE_DVAR is emitted to describe automatic variables and variables   held in registers.   GLOBAL is nonzero if the variable has global scope.   INDIRECT is nonzero if the variable is a pointer to an object.   REGVAR is nonzero if the variable is in a register.   A_UNION is nonzero if the variable is an anonymous union member.   NAME is a pointer into the VT for the variable's name.   LOCATION provides the memory address or register number for the variable.   TYPE is a pointer into either the GNTT or LNTT which describes   the type of this variable.  */struct dntt_type_dvar{  unsigned int extension:	1;  unsigned int kind:		10;  unsigned int global:		1;  unsigned int indirect:	1;  unsigned int regvar:		1;  unsigned int a_union:		1;  unsigned int unused:		17;  vtpointer name;  int location;  dnttpointer type;  unsigned int offset;};/* DNTT_TYPE_CONST:   A DNTT_TYPE_CONST symbol is emitted for program constants.   GLOBAL is nonzero if the constant has global scope.   INDIRECT is nonzero if the constant is a pointer to an object.   LOCATION_TYPE describes where to find the constant's value   (in the VT, memory, or embedded in an instruction).   CLASSMEM is nonzero if the constant is a member of a class.   NAME is a pointer into the VT for the constant's name.   LOCATION provides the memory address, register number or pointer   into the VT for the constant's value.   TYPE is a pointer into either the GNTT or LNTT which describes   the type of this variable.  */struct dntt_type_const{  unsigned int extension:	1;  unsigned int kind:		10;  unsigned int global:		1;  unsigned int indirect:	1;  unsigned int location_type:	3;  unsigned int classmem:	1;  unsigned int unused:		15;  vtpointer name;  CORE_ADDR location;  dnttpointer type;  unsigned int offset;  unsigned int displacement;};/* DNTT_TYPE_TYPEDEF and DNTT_TYPE_TAGDEF:   The same structure is used to describe typedefs and tagdefs.   DNTT_TYPE_TYPEDEFS are associated with C "typedefs".   DNTT_TYPE_TAGDEFs are associated with C "struct", "union", and "enum"   tags, which may have the same name as a typedef in the same scope.   Also they are associated with C++ "class" tags, which implicitly have    the same name as the class type.   GLOBAL is nonzero if the typedef/tagdef has global scope.   TYPEINFO is used to determine if full type information is available   for a tag.  (usually 1, but can be zero for opaque types in C).   NAME is a pointer into the VT for the constant's name.   TYPE points to the underlying type for the typedef/tagdef in the   GNTT or LNTT.  */struct dntt_type_type{  unsigned int extension:	1;  unsigned int kind:		10;    /* DNTT_TYPE_TYPEDEF or                                           DNTT_TYPE_TAGDEF                                         */  unsigned int global:		1;  unsigned int typeinfo:	1;  unsigned int unused:		19;  vtpointer name;  dnttpointer type;                    /* Underlying type, which for TAGDEF's may be                                        * DNTT_TYPE_STRUCT, DNTT_TYPE_UNION,                                        * DNTT_TYPE_ENUM, or DNTT_TYPE_CLASS.                                         * For TYPEDEF's other underlying types                                        * are also possible.                                        */};/* DNTT_TYPE_POINTER:   Used to describe a pointer to an underlying type.   POINTSTO is a pointer into the GNTT or LNTT for the type which this   pointer points to.   BITLENGTH is the length of the pointer (not the underlying type). */struct dntt_type_pointer{  unsigned int extension:	1;  unsigned int kind:		10;  unsigned int unused:		21;  dnttpointer pointsto;  unsigned int bitlength;};/* DNTT_TYPE_ENUM:   Used to describe enumerated types.   FIRSTMEM is a pointer to a DNTT_TYPE_MEMENUM in the GNTT/LNTT which   describes the first member (and contains a pointer to the chain of   members).   BITLENGTH is the number of bits used to hold the values of the enum's   members.  */struct dntt_type_enum{  unsigned int extension:	1;  unsigned int kind:	10;  unsigned int unused:		21;  dnttpointer firstmem;  unsigned int bitlength;};/* DNTT_TYPE_MEMENUM   Used to describe members of an enumerated type.   CLASSMEM is nonzero if this member is part of a class.   NAME points into the VT for the name of this member.   VALUE is the value of this enumeration member.   NEXTMEM points to the next DNTT_TYPE_MEMENUM in the chain.  */struct dntt_type_memenum{  unsigned int extension:	1;  unsigned int kind:	10;  unsigned int classmem:	1;  unsigned int unused:		20;  vtpointer name;  unsigned int value;  dnttpointer nextmem;};/* DNTT_TYPE_SET   Used to describe PASCAL "set" type.   DECLARATION describes the bitpacking of the set.   SUBTYPE points to a DNTT entry describing the type of the members.   BITLENGTH is the size of the set.  */ struct dntt_type_set{  unsigned int extension:	1;  unsigned int kind:	10;  unsigned int declaration:	2;  unsigned int unused:		19;  dnttpointer subtype;  unsigned int bitlength;};/* DNTT_TYPE_SUBRANGE   Used to describe subrange type.   DYN_LOW describes the lower bound of the subrange:     00 for a constant lower bound (found in LOWBOUND).     01 for a dynamic lower bound with the lower bound found in the the

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -