diff options
Diffstat (limited to 'binutils-2.24/binutils/coffgrok.h')
-rw-r--r-- | binutils-2.24/binutils/coffgrok.h | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/binutils-2.24/binutils/coffgrok.h b/binutils-2.24/binutils/coffgrok.h deleted file mode 100644 index 44a49e20..00000000 --- a/binutils-2.24/binutils/coffgrok.h +++ /dev/null @@ -1,226 +0,0 @@ -/* coffgrok.h - Copyright 2001, 2002, 2003, 2005, 2007 Free Software Foundation, Inc. - - This file is part of GNU Binutils. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, - MA 02110-1301, USA. */ - -#define T_NULL 0 -#define T_VOID 1 /* function argument (only used by compiler) */ -#define T_CHAR 2 /* character */ -#define T_SHORT 3 /* short integer */ -#define T_INT 4 /* integer */ -#define T_LONG 5 /* long integer */ -#define T_FLOAT 6 /* floating point */ -#define T_DOUBLE 7 /* double word */ -#define T_STRUCT 8 /* structure */ -#define T_UNION 9 /* union */ -#define T_ENUM 10 /* enumeration */ -#define T_MOE 11 /* member of enumeration*/ -#define T_UCHAR 12 /* unsigned character */ -#define T_USHORT 13 /* unsigned short */ -#define T_UINT 14 /* unsigned integer */ -#define T_ULONG 15 /* unsigned long */ -#define T_LNGDBL 16 /* long double */ - - -struct coff_reloc -{ - int offset; - struct coff_symbol *symbol; - int addend; -}; - -struct coff_section -{ - char *name; - int code; - int data; - int address; - int number; /* 0..n, .text = 0 */ - int nrelocs; - int size; - struct coff_reloc *relocs; - struct bfd_section *bfd_section; -}; - -struct coff_ofile -{ - int nsources; - struct coff_sfile *source_head; - struct coff_sfile *source_tail; - int nsections; - struct coff_section *sections; - struct coff_symbol *symbol_list_head; - struct coff_symbol *symbol_list_tail; -}; - -struct coff_isection { - int low; - int high; - int init; - struct coff_section *parent; -}; - -struct coff_sfile -{ - char *name; - struct coff_scope *scope; - struct coff_sfile *next; - - /* Vector which maps where in each output section - the input file has it's data */ - struct coff_isection *section; - -}; - - - struct coff_type -{ - int size; - enum - { - coff_pointer_type, coff_function_type, coff_array_type, coff_structdef_type, coff_basic_type, - coff_structref_type, coff_enumref_type, coff_enumdef_type, coff_secdef_type - } type; - union - { - struct - { - int address; - int size; - } asecdef; - - struct - { - int isstruct; - struct coff_scope *elements; - int idx; - } - astructdef; - struct - { - struct coff_symbol *ref; - } astructref; - - struct - { - struct coff_scope *elements; - int idx; - } aenumdef; - struct - { - struct coff_symbol *ref; - } aenumref; - - struct - { - struct coff_type *points_to; - } pointer; - struct - { - int dim; - struct coff_type *array_of; - } array; - - struct - { - struct coff_type *function_returns; - struct coff_scope *parameters; - struct coff_scope *code; - struct coff_line *lines; - } function; - int basic; /* One of T_VOID.. T_UINT */ - } u; -}; - - - struct coff_line - { - int nlines; - int *lines; - int *addresses; - }; - - - struct coff_scope - { - struct coff_section *sec; /* What section */ - int offset; /* where */ - int size; /* How big */ - struct coff_scope *parent; /* one up */ - - struct coff_scope *next; /*next along */ - - int nvars; - - struct coff_symbol *vars_head; /* symbols */ - struct coff_symbol *vars_tail; - - struct coff_scope *list_head; /* children */ - struct coff_scope *list_tail; - - }; - - - struct coff_visible - { - enum coff_vis_type - { - coff_vis_ext_def, - coff_vis_ext_ref, - coff_vis_int_def, - coff_vis_common, - coff_vis_auto, - coff_vis_register, - coff_vis_tag, - coff_vis_member_of_struct, - coff_vis_member_of_enum, - coff_vis_autoparam, - coff_vis_regparam, - } type; - }; - - struct coff_where - { - enum - { - coff_where_stack, coff_where_memory, coff_where_register, coff_where_unknown, - coff_where_strtag, coff_where_member_of_struct, - coff_where_member_of_enum, coff_where_entag, coff_where_typedef - - } where; - int offset; - int bitoffset; - int bitsize; - struct coff_section *section; - }; - - struct coff_symbol - { - char *name; - int tag; - struct coff_type *type; - struct coff_where *where; - struct coff_visible *visible; - struct coff_symbol *next; - struct coff_symbol *next_in_ofile_list; /* For the ofile list */ - int number; - int er_number; - struct coff_sfile *sfile; - }; - -struct coff_ofile *coff_grok PARAMS ((bfd *)); |