aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>1997-09-16 21:16:15 +0000
committerNick Clifton <nickc@redhat.com>1997-09-16 21:16:15 +0000
commit752851788a0a9976575a6efffa672120d7a45353 (patch)
tree423ff2f46ff3d6c73c564f814230fc5dec9cc8f2
parent9f6badd09db5024d18f63b38a0a97b4f8acaeff2 (diff)
downloadgdb-752851788a0a9976575a6efffa672120d7a45353.zip
gdb-752851788a0a9976575a6efffa672120d7a45353.tar.gz
gdb-752851788a0a9976575a6efffa672120d7a45353.tar.bz2
Add support for a 16 bit relocation against the TDA register!
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-v850.c13
2 files changed, 13 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 98ba42b..ee2372b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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
diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c
index 39f1c72..333a809 100644
--- a/gas/config/tc-v850.c
+++ b/gas/config/tc-v850.c
@@ -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)