aboutsummaryrefslogtreecommitdiff
path: root/bfd/coff-a29k.c
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1991-11-27 16:56:08 +0000
committerSteve Chamberlain <sac@cygnus>1991-11-27 16:56:08 +0000
commit3b4f1a5d05c9dc94e6708eecaf9ed8dc9832a48a (patch)
tree4de7774dea8c7c38bf75cc4fce2aa22ffa5a2118 /bfd/coff-a29k.c
parenta33336a38e3ef7c5bee3d79d7d258ebd7788b87a (diff)
downloadgdb-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-a29k.c')
-rw-r--r--bfd/coff-a29k.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/bfd/coff-a29k.c b/bfd/coff-a29k.c
index 363be30..10fceaf 100644
--- a/bfd/coff-a29k.c
+++ b/bfd/coff-a29k.c
@@ -230,6 +230,19 @@ static reloc_howto_type howto_table[] =
#define BADMAG(x) A29KBADMAG(x)
+/* This macro translates an external r_type field into a pointer to an
+ entry in the above table */
+
+
+#define RTYPE2HOWTO(cache_ptr, dst) \
+ if (dst.r_type == R_IHCONST) { \
+ /* Add in the value which was stored in the symbol index */\
+ cache_ptr->addend += dst.r_symndx; \
+ /* Throw away the bogus symbol pointer */ \
+ cache_ptr->sym_ptr_ptr = 0; \
+ } \
+ cache_ptr->howto = howto_table + dst.r_type; \
+
#include "coffcode.h"
bfd_target a29kcoff_big_vec =