aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-tic80.c
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1997-02-24 20:21:13 +0000
committerFred Fish <fnf@specifix.com>1997-02-24 20:21:13 +0000
commitec72a26633bdda8d7522bf756fcce9c621d8ac45 (patch)
treeadfe8763078b20ac213edaff8272802129059179 /gas/config/tc-tic80.c
parentdc40b391214d02271d9d0d5013872dbfc4df8499 (diff)
downloadgdb-ec72a26633bdda8d7522bf756fcce9c621d8ac45.zip
gdb-ec72a26633bdda8d7522bf756fcce9c621d8ac45.tar.gz
gdb-ec72a26633bdda8d7522bf756fcce9c621d8ac45.tar.bz2
* 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
Diffstat (limited to 'gas/config/tc-tic80.c')
-rw-r--r--gas/config/tc-tic80.c15
1 files changed, 8 insertions, 7 deletions
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: