diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6ed998ab6c7..b671f80a081 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,6 +1,9 @@
 start-sanitize-v850
 Wed Oct 16 11:28:31 1996  Jeffrey A Law  (law@cygnus.com)
 
+	* config/tc-v850.c (v850_reloc_prefix): Recognize zdaoff, tdaoff
+	and sdaoff expressions.
+
 	* write.c (fixup_segment): Don't add symbol value to addend if
 	TC_V850 and OBJ_ELF.
 	* config/tc-v850.h (tc_fix_adjustable): Don't adjust any
diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c
index f1c8d7c7c9a..6fb4ef0dc7d 100644
--- a/gas/config/tc-v850.c
+++ b/gas/config/tc-v850.c
@@ -469,6 +469,24 @@ v850_reloc_prefix()
       return BFD_RELOC_LO16;
     }
 
+  if (strncmp (input_line_pointer, "sdaoff(", 7) == 0)
+    {
+      input_line_pointer += 7;
+      return BFD_RELOC_V850_SDA_OFFSET;
+    }
+
+  if (strncmp (input_line_pointer, "zdaoff(", 7) == 0)
+    {
+      input_line_pointer += 7;
+      return BFD_RELOC_V850_ZDA_OFFSET;
+    }
+
+  if (strncmp (input_line_pointer, "tdaoff(", 7) == 0)
+    {
+      input_line_pointer += 7;
+      return BFD_RELOC_V850_TDA_OFFSET;
+    }
+
   /* FIXME: implement sda, tda, zda here */
 
   return BFD_RELOC_UNUSED;