Fix Bug savannah/1825:
[deliverable/binutils-gdb.git] / gas / config / tc-m68hc11.h
index c57637f96e537364415f3ceccb36209a15daa111..e7ea44cd80ce4910244e2749f38567fd5ddf57a9 100644 (file)
@@ -93,6 +93,15 @@ extern int m68hc11_parse_long_option PARAMS ((char *));
 #define TC_GENERIC_RELAX_TABLE md_relax_table
 extern struct relax_type md_relax_table[];
 
+/* GAS only handles relaxations for pc-relative data targeting addresses
+   in the same segment, so we have to handle the rest on our own.  */
+#define md_relax_frag(SEG, FRAGP, STRETCH)             \
+ ((FRAGP)->fr_symbol != NULL                           \
+  && S_GET_SEGMENT ((FRAGP)->fr_symbol) == (SEG)       \
+  ? relax_frag (SEG, FRAGP, STRETCH)                   \
+  : m68hc11_relax_frag (SEG, FRAGP, STRETCH))
+extern long m68hc11_relax_frag PARAMS ((segT, fragS*, long));
+
 #define TC_HANDLES_FX_DONE
 
 #define DIFF_EXPR_OK           /* .-foo gets turned into PC relative relocs */
This page took 0.023137 seconds and 4 git commands to generate.