Add support for a 16 bit relocation against the TDA register!

This commit is contained in:
Nick Clifton 1997-09-16 21:16:15 +00:00
parent 9f6badd09d
commit 752851788a
2 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,8 @@
Tue Sep 16 14:18:22 1997 Nick Clifton <nickc@cygnus.com>
* config/tc-v850.c (v850_reloc_prefix): Add support for a 16 bit
displacement from the tiny data area pointer.
Mon Sep 15 21:28:09 1997 Jeffrey A Law (law@cygnus.com)
* config/tc-hppa.c (fix_new_hppa): Make declaration match

View File

@ -1082,16 +1082,19 @@ v850_reloc_prefix (const struct v850_operand * operand)
{
input_line_pointer += 6;
if (operand == NULL) return BFD_RELOC_V850_TDA_7_7_OFFSET;
if (operand->bits == 6 && operand->shift == 1) return BFD_RELOC_V850_TDA_6_8_OFFSET;
if (operand == NULL) return BFD_RELOC_V850_TDA_7_7_OFFSET;
if (operand->bits == 6 && operand->shift == 1) return BFD_RELOC_V850_TDA_6_8_OFFSET; /* sld.w/sst.w, operand: D8_6 */
/* start-sanitize-v850e */
if (operand->bits == 4 && operand->insert != NULL) return BFD_RELOC_V850_TDA_4_5_OFFSET;
if (operand->bits == 4 && operand->insert == NULL) return BFD_RELOC_V850_TDA_4_4_OFFSET;
if (operand->bits == 4 && operand->insert != NULL) return BFD_RELOC_V850_TDA_4_5_OFFSET; /* sld.hu, operand: D5-4 */
if (operand->bits == 4 && operand->insert == NULL) return BFD_RELOC_V850_TDA_4_4_OFFSET; /* sld.bu, operand: D4 */
/* end-sanitize-v850e */
if (operand->bits == 16 && operand->shift == 16) return BFD_RELOC_V850_TDA_16_16_OFFSET; /* set1 & chums, operands: D16 */
assert (operand->bits == 7);
return operand->insert != NULL ? BFD_RELOC_V850_TDA_7_8_OFFSET : BFD_RELOC_V850_TDA_7_7_OFFSET;
return operand->insert != NULL
? BFD_RELOC_V850_TDA_7_8_OFFSET /* sld.h/sst.h, operand: D8_7 */
: BFD_RELOC_V850_TDA_7_7_OFFSET; /* sld.b/sst.b, opreand: D7 */
}
if (paren_skipped)