亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? symseg.h

?? 這是完整的gcc源代碼
?? H
字號(hào):
/* GDB symbol table format definitions.   Copyright (C) 1987, 1988 Free Software Foundation, Inc.This file is part of GNU CC.GNU CC is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 1, or (at your option)any later version.GNU CC is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU CC; see the file COPYING.  If not, write tothe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  *//* Format of GDB symbol table data.   There is one symbol segment for each source file or   independant compilation.  These segments are simply concatenated   to form the GDB symbol table.  A zero word where the beginning   of a segment is expected indicates there are no more segments.Format of a symbol segment:   The symbol segment begins with a word containing 1   if it is in the format described here.  Other formats may   be designed, with other code numbers.   The segment contains many objects which point at each other.   The pointers are offsets in bytes from the beginning of the segment.   Thus, each segment can be loaded into core and its pointers relocated   to make valid in-core pointers.   All the data objects in the segment can be found indirectly from   one of them, the root object, of type `struct symbol_root'.   It appears at the beginning of the segment.   The total size of the segment, in bytes, appears as the `length'   field of this object.  This size includes the size of the   root object.   All the object data types are defined here to contain pointer types   appropriate for in-core use on a relocated symbol segment.   Casts to and from type int are required for working with   unrelocated symbol segments such as are found in the file.   The ldsymaddr word is filled in by the loader to contain   the offset (in bytes) within the ld symbol table   of the first nonglobal symbol from this compilation.   This makes it possible to match those symbols   (which contain line number information) reliably with   the segment they go with.   Core addresses within the program that appear in the symbol segment   are not relocated by the loader.  They are inserted by the assembler   and apply to addresses as output by the assembler, so GDB must   relocate them when it loads the symbol segment.  It gets the information   on how to relocate from the textrel, datarel, bssrel, databeg and bssbeg   words of the root object.   The words textrel, datarel and bssrel   are filled in by ld with the amounts to relocate within-the-file   text, data and bss addresses by; databeg and bssbeg can be   used to tell which kind of relocation an address needs.  */enum language {language_c};struct symbol_root{  int format;			/* Data format version */  int length;			/* # bytes in this symbol segment */  int ldsymoff;			/* Offset in ld symtab of this file's syms */  int textrel;			/* Relocation for text addresses */  int datarel;			/* Relocation for data addresses */  int bssrel;			/* Relocation for bss addresses */  char *filename;		/* Name of main source file compiled */  char *filedir;		/* Name of directory it was reached from */  struct blockvector *blockvector; /* Vector of all symbol-naming blocks */  struct typevector *typevector; /* Vector of all data types */  enum language language;	/* Code identifying the language used */  char *version;		/* Version info.  Not fully specified */  char *compilation;		/* Compilation info.  Not fully specified */  int databeg;			/* Address within the file of data start */  int bssbeg;			/* Address within the file of bss start */  struct sourcevector *sourcevector; /* Vector of line-number info */};/* All data types of symbols in the compiled program   are represented by `struct type' objects.   All of these objects are pointed to by the typevector.   The type vector may have empty slots that contain zero.  */struct typevector{  int length;			/* Number of types described */  struct type *type[1];};/* Different kinds of data types are distinguished by the `code' field.  */enum type_code{  TYPE_CODE_UNDEF,		/* Not used; catches errors */  TYPE_CODE_PTR,		/* Pointer type */  TYPE_CODE_ARRAY,		/* Array type, lower bound zero */  TYPE_CODE_STRUCT,		/* C struct or Pascal record */  TYPE_CODE_UNION,		/* C union or Pascal variant part */  TYPE_CODE_ENUM,		/* Enumeration type */  TYPE_CODE_FUNC,		/* Function type */  TYPE_CODE_INT,		/* Integer type */  TYPE_CODE_FLT,		/* Floating type */  TYPE_CODE_VOID,		/* Void type (values zero length) */  TYPE_CODE_SET,		/* Pascal sets */  TYPE_CODE_RANGE,		/* Range (integers within spec'd bounds) */  TYPE_CODE_PASCAL_ARRAY,	/* Array with explicit type of index */};/* This appears in a type's flags word for an unsigned integer type.  */#define TYPE_FLAG_UNSIGNED 1/* Other flag bits are used with GDB.  */struct type{  /* Code for kind of type */  enum type_code code;  /* Name of this type, or zero if none.     This is used for printing only.     Type names specified as input are defined by symbols.  */  char *name;  /* Length in bytes of storage for a value of this type */  int length;  /* For a pointer type, describes the type of object pointed to.     For an array type, describes the type of the elements.     For a function type, describes the type of the value.     Unused otherwise.  */  struct type *target_type;  /* Type that is a pointer to this type.     Zero if no such pointer-to type is known yet.     The debugger may add the address of such a type     if it has to construct one later.  */   struct type *pointer_type;  /* Type that is a function returning this type.     Zero if no such function type is known here.     The debugger may add the address of such a type     if it has to construct one later.  */  struct type *function_type;  /* Flags about this type.  */  short flags;  /* Number of fields described for this type */  short nfields;  /* For structure and union types, a description of each field.     For set and pascal array types, there is one "field",     whose type is the domain type of the set or array.     For range types, there are two "fields",     the minimum and maximum values (both inclusive).     For enum types, each possible value is described by one "field".     For range types, there are two "fields", that record constant values     (inclusive) for the minimum and maximum.     Using a pointer to a separate array of fields     allows all types to have the same size, which is useful     because we can allocate the space for a type before     we know what to put in it.  */  struct field    {      /* Position of this field, counting in bits from start of	 containing structure.  For a function type, this is the	 position in the argument list of this argument.	 For a range bound or enum value, this is the value itself.  */      int bitpos;      /* Size of this field, in bits, or zero if not packed.	 For an unpacked field, the field's type's length	 says how many bytes the field occupies.  */      int bitsize;      /* In a struct or enum type, type of this field.	 In a function type, type of this argument.	 In an array type, the domain-type of the array.  */      struct type *type;      /* Name of field, value or argument.	 Zero for range bounds and array domains.  */      char *name;    } *fields;};/* All of the name-scope contours of the program   are represented by `struct block' objects.   All of these objects are pointed to by the blockvector.   Each block represents one name scope.   Each lexical context has its own block.   The first two blocks in the blockvector are special.   The first one contains all the symbols defined in this compilation   whose scope is the entire program linked together.   The second one contains all the symbols whose scope is the   entire compilation excluding other separate compilations.   In C, these correspond to global symbols and static symbols.   Each block records a range of core addresses for the code that   is in the scope of the block.  The first two special blocks   give, for the range of code, the entire range of code produced   by the compilation that the symbol segment belongs to.   The blocks appear in the blockvector   in order of increasing starting-address,   and, within that, in order of decreasing ending-address.   This implies that within the body of one function   the blocks appear in the order of a depth-first tree walk.  */struct blockvector{  /* Number of blocks in the list.  */  int nblocks;  /* The blocks themselves.  */  struct block *block[1];};struct block{  /* Addresses in the executable code that are in this block.     Note: in an unrelocated symbol segment in a file,     these are always zero.  They can be filled in from the     N_LBRAC and N_RBRAC symbols in the loader symbol table.  */  int startaddr, endaddr;  /* The symbol that names this block,     if the block is the body of a function;     otherwise, zero.     Note: In an unrelocated symbol segment in an object file,     this field may be zero even when the block has a name.     That is because the block is output before the name     (since the name resides in a higher block).     Since the symbol does point to the block (as its value),     it is possible to find the block and set its name properly.  */  struct symbol *function;  /* The `struct block' for the containing block, or 0 if none.  */  /* Note that in an unrelocated symbol segment in an object file     this pointer may be zero when the correct value should be     the second special block (for symbols whose scope is one compilation).     This is because the compiler ouptuts the special blocks at the     very end, after the other blocks.   */  struct block *superblock;  /* Number of local symbols.  */  int nsyms;  /* The symbols.  */  struct symbol *sym[1];};/* Represent one symbol name; a variable, constant, function or typedef.  *//* Different name spaces for symbols.  Looking up a symbol specifies   a namespace and ignores symbol definitions in other name spaces.   VAR_NAMESPACE is the usual namespace.   In C, this contains variables, function names, typedef names   and enum type values.   STRUCT_NAMESPACE is used in C to hold struct, union and enum type names.   Thus, if `struct foo' is used in a C program,   it produces a symbol named `foo' in the STRUCT_NAMESPACE.   LABEL_NAMESPACE may be used for names of labels (for gotos);   currently it is not used and labels are not recorded at all.  *//* For a non-global symbol allocated statically,   the correct core address cannot be determined by the compiler.   The compiler puts an index number into the symbol's value field.   This index number can be matched with the "desc" field of   an entry in the loader symbol table.  */enum namespace{  UNDEF_NAMESPACE, VAR_NAMESPACE, STRUCT_NAMESPACE, LABEL_NAMESPACE,};/* An address-class says where to find the value of the symbol in core.  */enum address_class{  LOC_UNDEF,		/* Not used; catches errors */  LOC_CONST,		/* Value is constant int */  LOC_STATIC,		/* Value is at fixed address */  LOC_REGISTER,		/* Value is in register */  LOC_ARG,		/* Value is at spec'd position in arglist */  LOC_LOCAL,		/* Value is at spec'd pos in stack frame */  LOC_TYPEDEF,		/* Value not used; definition in SYMBOL_TYPE			   Symbols in the namespace STRUCT_NAMESPACE			   all have this class.  */  LOC_LABEL,		/* Value is address in the code */  LOC_BLOCK,		/* Value is address of a `struct block'.			   Function names have this class.  */  LOC_EXTERNAL,		/* Value is at address not in this compilation.			   This is used for .comm symbols			   and for extern symbols within functions.			   Inside GDB, this is changed to LOC_STATIC once the			   real address is obtained from a loader symbol.  */  LOC_CONST_BYTES	/* Value is a constant byte-sequence.   */};struct symbol{  /* Symbol name */  char *name;  /* Name space code.  */  enum namespace namespace;  /* Address class */  enum address_class class;  /* Data type of value */  struct type *type;  /* constant value, or address if static, or register number,     or offset in arguments, or offset in stack frame.  */  union    {      long value;      struct block *block;      /* for LOC_BLOCK */      char *bytes;		/* for LOC_CONST_BYTES */    }  value;};/* Source-file information.   This describes the relation between source files and line numbers   and addresses in the program text.  */struct sourcevector{  int length;			/* Number of source files described */  struct source *source[1];	/* Descriptions of the files */};/* Line number and address of one line.  */ struct line{  int linenum;  int address;};/* All the information on one source file.  */struct source{  char *name;			/* Name of file */  int nlines;			/* Number of lines that follow */  struct line lines[1];	/* Information on each line */};

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9191精品国产综合久久久久久| 一本一道综合狠狠老| 亚洲同性同志一二三专区| 欧美日产国产精品| 91在线看国产| 国产伦精品一区二区三区视频青涩| 亚洲女性喷水在线观看一区| 久久久久国产精品麻豆| 欧美日韩久久久| 99在线精品观看| 国产成人免费视| 日本vs亚洲vs韩国一区三区二区 | 国产精品日产欧美久久久久| 欧美一区二区三区白人| 日本乱人伦aⅴ精品| 丰满少妇在线播放bd日韩电影| 美国精品在线观看| 亚洲va中文字幕| 亚洲精品日日夜夜| 国产精品对白交换视频| 久久婷婷国产综合精品青草| 7777精品伊人久久久大香线蕉最新版| 91蜜桃在线免费视频| 国产毛片精品视频| 国产一区二区在线观看视频| 日韩精品五月天| 五月天一区二区| 亚洲高清免费视频| 亚洲国产三级在线| 一区二区三区中文字幕| 亚洲精品日韩专区silk| 亚洲欧美日韩久久精品| 亚洲天堂成人在线观看| 亚洲视频 欧洲视频| 国产精品天美传媒沈樵| 国产精品视频免费| 日本一区二区三区dvd视频在线| 日韩免费在线观看| 欧美精品一区男女天堂| 久久亚洲一区二区三区四区| 精品国产区一区| 欧美精品一区二区三区四区| 久久久久亚洲蜜桃| 国产日韩欧美高清| 久久久91精品国产一区二区三区| 久久久另类综合| 中文字幕免费在线观看视频一区| 久久综合九色综合欧美就去吻| 欧美刺激午夜性久久久久久久| 56国语精品自产拍在线观看| 日韩一级片网址| 精品日韩av一区二区| 国产亚洲综合在线| 中文字幕一区二区在线播放| 国产精品电影一区二区三区| 国产日韩av一区| 中文字幕一区日韩精品欧美| 一区二区三区在线免费| 午夜精品久久久| 精品无码三级在线观看视频| 久久电影网站中文字幕| 狠狠色狠狠色综合日日91app| 国产一区二区三区不卡在线观看| 激情国产一区二区 | 另类综合日韩欧美亚洲| 久久国产精品99精品国产| 国产一区二区三区精品欧美日韩一区二区三区 | 午夜一区二区三区在线观看| 日韩黄色片在线观看| 国产一区 二区 三区一级| 国产91丝袜在线播放0| 成人激情午夜影院| 欧美性感一区二区三区| 精品人在线二区三区| 国产精品久久久久婷婷二区次| 国产精品私房写真福利视频| 一区二区三区中文字幕在线观看| 日韩精品久久理论片| 久久91精品国产91久久小草| 韩国精品久久久| 91丝袜美女网| 欧美成人三级电影在线| 久久久久国产成人精品亚洲午夜| 亚洲精品精品亚洲| 久久99久久久久| 99久久亚洲一区二区三区青草| 69精品人人人人| 国产精品美女一区二区三区 | 亚洲视频一二区| 美女精品一区二区| 色国产精品一区在线观看| 精品国产一区二区三区av性色 | 亚洲精品国产a| 国产乱子伦视频一区二区三区 | 久久福利资源站| 欧美色成人综合| 中文字幕av一区 二区| 日韩成人av影视| 99re8在线精品视频免费播放| 日韩一二三区视频| 亚洲男女毛片无遮挡| 国产精品一区二区三区网站| 欧美日本一区二区| 伊人开心综合网| 成人晚上爱看视频| 精品久久久久久久久久久久包黑料| 亚洲精品视频在线观看网站| 国产精品系列在线观看| 91精品国产综合久久精品app| 亚洲人午夜精品天堂一二香蕉| 国产一区啦啦啦在线观看| 欧美福利视频一区| 一区二区欧美精品| 99国产精品久久久久久久久久久| 久久综合久久99| 久久精品国产色蜜蜜麻豆| 欧美日韩国产综合久久| 亚洲精品日日夜夜| 99久久精品久久久久久清纯| 国产欧美久久久精品影院| 极品少妇xxxx偷拍精品少妇| 91精品国产丝袜白色高跟鞋| 亚洲高清免费观看 | 久久色在线观看| 免费在线观看视频一区| 欧美日本在线视频| 亚洲成av人片在线| 欧美亚洲另类激情小说| 一区二区三区欧美日韩| 一本色道亚洲精品aⅴ| 亚洲婷婷在线视频| 色域天天综合网| 亚洲乱码中文字幕| 欧美在线视频日韩| 亚洲电影一区二区三区| 欧美日韩国产欧美日美国产精品| 亚洲一区二区欧美日韩| 欧美视频在线观看一区二区| 亚洲午夜激情网站| 在线播放国产精品二区一二区四区| 亚洲第一综合色| 欧美精品久久一区| 蜜臀av在线播放一区二区三区| 日韩一区二区三区在线| 美女网站色91| 久久嫩草精品久久久久| 成人免费视频caoporn| 亚洲欧洲三级电影| 欧美性一级生活| 婷婷成人激情在线网| 日韩精品中文字幕一区| 国产一区二区三区黄视频| 国产精品卡一卡二卡三| 色综合 综合色| 丝袜诱惑亚洲看片| 久久亚洲综合色| 99久久精品免费看国产| 日韩一区在线免费观看| 色一情一乱一乱一91av| 亚洲成av人综合在线观看| 欧美一区二区啪啪| 风间由美一区二区av101| 亚洲精品写真福利| 在线综合亚洲欧美在线视频 | 欧美日韩一区成人| 一区二区三区资源| 精品欧美乱码久久久久久 | 亚洲日本va午夜在线影院| 在线免费视频一区二区| 男女男精品视频网| 日本一区二区免费在线| 在线观看不卡一区| 精品一二线国产| 亚洲精品欧美综合四区| 欧美变态口味重另类| 顶级嫩模精品视频在线看| 一区二区三区国产精品| 久久免费看少妇高潮| 91麻豆精东视频| 韩国视频一区二区| 亚洲精品久久久蜜桃| 精品成人a区在线观看| 91视频在线看| 韩国av一区二区三区四区 | 亚洲欧洲av另类| 在线91免费看| 成人爱爱电影网址| 老司机午夜精品| 亚洲一区二区三区中文字幕| 亚洲精品在线免费观看视频| 欧美三级午夜理伦三级中视频| 国产91在线|亚洲| 久久精品国内一区二区三区| 伊人开心综合网| 中日韩免费视频中文字幕| 日韩一区二区影院| 欧美三级在线视频| 99国产精品久久久久久久久久 | 色婷婷久久一区二区三区麻豆| 狠狠色狠狠色综合系列|