diff options
author | Fred Fish <fnf@specifix.com> | 1997-02-24 20:21:13 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1997-02-24 20:21:13 +0000 |
commit | ec72a26633bdda8d7522bf756fcce9c621d8ac45 (patch) | |
tree | adfe8763078b20ac213edaff8272802129059179 /gas/config/tc-tic80.c | |
parent | dc40b391214d02271d9d0d5013872dbfc4df8499 (diff) | |
download | gdb-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.c | 15 |
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: |