aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog12
-rw-r--r--gas/config/tc-tic80.c15
2 files changed, 20 insertions, 7 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f6dbd08..ecc3b25 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,15 @@
+Mon Feb 24 10:40:45 1997 Fred Fish <fnf@cygnus.com>
+
+ * config/obj-coff.c: Fix typo in comment section.
+start-sanitize-tic80
+ * config/tc-tic80.c (md_pseudo_table): Add entry for bss, which takes
+ an additional alignment argument.
+ (find_opcode): Allow O_symbol relocs for any 32 bit field, not just
+ base relative ones.
+ (build_insn): Handle O_symbol relocs for any 32 bit field, not just
+ base relative ones.
+end-sanitize-tic80
+
Mon Feb 24 02:23:00 1997 Dawn Perchik <dawn@cygnus.com>
* Makefile.in: Remove dependancies on itbl-cpu.h.
diff --git a/gas/config/tc-tic80.c b/gas/config/tc-tic80.c
index cd2c0dc..043a969 100644
--- a/gas/config/tc-tic80.c
+++ b/gas/config/tc-tic80.c
@@ -57,8 +57,9 @@ const char FLT_CHARS[] = "dD";
const pseudo_typeS md_pseudo_table[] =
{
- {"word", cons, 4}, /* FIXME: Should this be machine independent? */
- { NULL, NULL, 0 }
+ { "word", cons, 4 }, /* FIXME: Should this be machine independent? */
+ { "bss", s_lcomm, 1 },
+ { NULL, NULL, 0 }
};
/* Opcode hash table. */
@@ -388,7 +389,7 @@ find_opcode (opcode, myops)
short immediate fields, like the TI assembler.
FIXME: Should be able to choose "best-fit". */
}
- else if ((bits == 32) && (flags & TIC80_OPERAND_BASEREL))
+ else if ((bits == 32) /* && (flags & TIC80_OPERAND_BASEREL) */)
{
/* For now we only allow base relative relocations in
the long immediate fields, like the TI assembler.
@@ -627,19 +628,19 @@ build_insn (opcode, opers)
1,
R_MPPCR);
}
- else if (flags & TIC80_OPERAND_BASEREL)
+ else if (bits == 32) /* was (flags & TIC80_OPERAND_BASEREL) */
{
extended++;
fix_new_exp (frag_now,
(f + 4) - (frag_now -> fr_literal),
4,
&opers[expi],
- 0, /* FIXME! should allow pcrel */
- R_RELLONGX); /* FIXME! should be the right reloc type */
+ 0,
+ R_RELLONGX);
}
else
{
- internal_error ("symbol reloc that is not PC or BASEREG relative");
+ internal_error ("symbol reloc that is not PC relative or 32 bits");
}
break;
case O_illegal: