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/coff-m88k.c | |
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/coff-m88k.c')
-rw-r--r-- | bfd/coff-m88k.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/bfd/coff-m88k.c b/bfd/coff-m88k.c index d4c10bf..896e74c 100644 --- a/bfd/coff-m88k.c +++ b/bfd/coff-m88k.c @@ -81,6 +81,23 @@ static reloc_howto_type howto_table[] = }; +/* Code to swap in the reloc offset */ +#define SWAP_IN_RELOC_OFFSET bfd_h_get_16 +#define SWAP_OUT_RELOC_OFFSET bfd_h_put_16 + + +/* Code to turn an external r_type into a pointer to an entry in the + above howto table */ +#define RTYPE2HOWTO(cache_ptr, dst) \ + if (dst.r_type >= R_PCR16L && dst.r_type <= R_VRT32) { \ + cache_ptr->howto = howto_table + dst.r_type - R_PCR16L; \ + cache_ptr->addend += dst.r_offset << 16; \ + } \ + else { \ + BFD_ASSERT(0); \ + } + + #define BADMAG(x) MC88BADMAG(x) #include "coffcode.h" @@ -89,7 +106,7 @@ static reloc_howto_type howto_table[] = bfd_target m88kbcs_vec = { - "m88kbcs", /* name */ + "coff-m88kbcs", /* name */ bfd_target_coff_flavour, true, /* data byte order is big */ true, /* header byte order is big */ |