diff options
author | Steve Chamberlain <sac@cygnus> | 1991-11-27 16:56:08 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1991-11-27 16:56:08 +0000 |
commit | 3b4f1a5d05c9dc94e6708eecaf9ed8dc9832a48a (patch) | |
tree | 4de7774dea8c7c38bf75cc4fce2aa22ffa5a2118 /bfd/libcoff.h | |
parent | a33336a38e3ef7c5bee3d79d7d258ebd7788b87a (diff) | |
download | gdb-3b4f1a5d05c9dc94e6708eecaf9ed8dc9832a48a.zip gdb-3b4f1a5d05c9dc94e6708eecaf9ed8dc9832a48a.tar.gz gdb-3b4f1a5d05c9dc94e6708eecaf9ed8dc9832a48a.tar.bz2 |
* Makefile.in: added coff-h8300
* configure.in: now h8 is a coff target
* cpu-h8300.c: fix various disassembly problems
* libcoff.h: took out some code which has been #0ed for a long
time.
* targets.c: added h8 coff
* coff-a29k.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c
added new macro RTYPE2HOWTO to take a load of #ifdefs out of
coffcode.h
* coffcode.h: Started to change the way machine dependencies are
handled, from the nest of #ifdefs to macros defined in the
including coff-<foo>.c
Diffstat (limited to 'bfd/libcoff.h')
-rw-r--r-- | bfd/libcoff.h | 72 |
1 files changed, 27 insertions, 45 deletions
diff --git a/bfd/libcoff.h b/bfd/libcoff.h index a29b9c2..43dc87b 100644 --- a/bfd/libcoff.h +++ b/bfd/libcoff.h @@ -18,64 +18,48 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id$ */ /* Object file tdata; access macros */ -#define obj_icof(bfd) ((struct icofdata *) ((bfd)->tdata)) -#define coff_data(bfd) ((struct icofdata *) ((bfd)->tdata)) -#define exec_hdr(bfd) (obj_icof(bfd)->hdr) -#define obj_symbols(bfd) (obj_icof(bfd)->symbols) -#define obj_sym_filepos(bfd) (obj_icof(bfd)->sym_filepos) - -#define obj_relocbase(bfd) (obj_icof(bfd)->relocbase) -#define obj_raw_syments(bfd) (obj_icof(bfd)->raw_syments) -#define obj_convert(bfd) (obj_icof(bfd)->conversion_table) -#if CFILE_STUFF -#define obj_symbol_slew(bfd) (obj_icof(bfd)->symbol_index_slew) -#else -#define obj_symbol_slew(bfd) 0 -#endif -#define obj_string_table(bfd) (obj_icof(bfd)->string_table) - -#if 0 -typedef struct coff_ptr_struct -{ - unsigned int offset; - char fix_tag; - char fix_end; - union { - union internal_auxent auxent; - struct internal_syment syment; - } u; -} combined_entry_type; +#define coff_data(bfd) ((coff_data_type *) ((bfd)->tdata)) +#define exec_hdr(bfd) (coff_data(bfd)->hdr) +#define obj_symbols(bfd) (coff_data(bfd)->symbols) +#define obj_sym_filepos(bfd) (coff_data(bfd)->sym_filepos) +#define obj_relocbase(bfd) (coff_data(bfd)->relocbase) +#define obj_raw_syments(bfd) (coff_data(bfd)->raw_syments) +#define obj_convert(bfd) (coff_data(bfd)->conversion_table) -typedef struct -{ - asymbol symbol; - combined_entry_type *native; - struct lineno_cache_entry *lineno; -} coff_symbol_type; -#endif -typedef struct icofdata -{ +/* `Tdata' information kept for COFF files. */ -struct coff_symbol_struct *symbols; /* symtab for input bfd */ +typedef struct coff_tdata +{ + struct coff_symbol_struct *symbols; /* symtab for input bfd */ unsigned int *conversion_table; file_ptr sym_filepos; long symbol_index_slew; /* used during read to mark whether a C_FILE symbol as been added. */ -struct coff_ptr_struct *raw_syments; + struct coff_ptr_struct *raw_syments; struct lineno *raw_linenos; unsigned int raw_syment_count; - char *string_table; unsigned short flags; + /* These are only valid once writing has begun */ long int relocbase; + + /* These members communicate important constants about the symbol table + to GDB's symbol-reading code. These `constants' unfortunately vary + from coff implementation to implementation... */ + unsigned local_n_btmask; + unsigned local_n_btshft; + unsigned local_n_tmask; + unsigned local_n_tshift; + unsigned local_symesz; + unsigned local_auxesz; + unsigned local_linesz; } coff_data_type; /* We take the address of the first element of a asymbol to ensure that the @@ -86,9 +70,9 @@ struct coff_ptr_struct *raw_syments; /*THE FOLLOWING IS EXTRACTED FROM THE SOURCE*/ -/* FROM coffcode.h*/ -/* ------------------------------START FROM coffcode.h +/*:coffcode.h*/ +/* The hidden information for an asymbol is: */ @@ -154,8 +138,6 @@ A pointer to the linenumber information for this symbol } coff_symbol_type; /* - - --------------------------------END FROM coffcode.h*/ - +*/ |