aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-a29k.c
diff options
context:
space:
mode:
authorSteve Chamberlain <steve@cygnus>1991-10-21 16:31:47 +0000
committerSteve Chamberlain <steve@cygnus>1991-10-21 16:31:47 +0000
commit57574979170226300f23a85f222ab089a0bfe6f8 (patch)
tree5c8ea496920a91b80d6e3748eda4f639d8daefcf /gas/config/tc-a29k.c
parent6352cb8fbded5a2ff16e65a66f6833c437711c5b (diff)
downloadgdb-57574979170226300f23a85f222ab089a0bfe6f8.zip
gdb-57574979170226300f23a85f222ab089a0bfe6f8.tar.gz
gdb-57574979170226300f23a85f222ab089a0bfe6f8.tar.bz2
* configure.in: added ebmon entry.
* output-file.c (output_file_create, output_file_close) added stuff to use bfd. * write.c: more bfd support * config/obj-coff.c config/obj-coff.h use bfd for swapping header info. * tc-a29k: added the reloc types we support now.
Diffstat (limited to 'gas/config/tc-a29k.c')
-rw-r--r--gas/config/tc-a29k.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/gas/config/tc-a29k.c b/gas/config/tc-a29k.c
index f4477f6..3e716d5 100644
--- a/gas/config/tc-a29k.c
+++ b/gas/config/tc-a29k.c
@@ -88,7 +88,15 @@ md_pseudo_table[] = {
int md_short_jump_size = 4;
int md_long_jump_size = 4;
-int md_reloc_size = 12;
+#if defined(BFD_HEADERS)
+#ifdef RELSZ
+int md_reloc_size = RELSZ; /* Coff headers */
+#else
+int md_reloc_size = 12; /* something else headers */
+#endif
+#else
+int md_reloc_size = 12; /* Not bfdized*/
+#endif
/* This array holds the chars that always start a comment. If the
pre-processor is disabled, these aren't very useful */
@@ -881,11 +889,15 @@ fixS *fixP;
/* FIXME-NOW: relocation type handling is not yet written for
a29k. */
- know(0);
+
switch (fixP->fx_r_type) {
case RELOC_32: return(R_WORD);
case RELOC_8: return(R_BYTE);
- default: know(0);
+ case RELOC_CONST: return (R_ILOHALF);
+ case RELOC_CONSTH: return (R_IHIHALF);
+ case RELOC_JUMPTARG: return (R_IREL);
+ default: printf("need %o3\n", fixP->fx_r_type);
+ abort(0);
} /* switch on type */
return(0);