aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-mn10300.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2007-10-19 17:31:31 +0000
committerNick Clifton <nickc@redhat.com>2007-10-19 17:31:31 +0000
commitbfff1642494227904c6c9a6c285cbaa6cf615bbb (patch)
tree7bf1ece58861b5e9c520e056102994251c0a7504 /gas/config/tc-mn10300.h
parent97030eea009ba78139fe20eae4585984435ac178 (diff)
downloadfsf-binutils-gdb-bfff1642494227904c6c9a6c285cbaa6cf615bbb.zip
fsf-binutils-gdb-bfff1642494227904c6c9a6c285cbaa6cf615bbb.tar.gz
fsf-binutils-gdb-bfff1642494227904c6c9a6c285cbaa6cf615bbb.tar.bz2
Add MN10300 linker relaxation support for symbol differences
Diffstat (limited to 'gas/config/tc-mn10300.h')
-rw-r--r--gas/config/tc-mn10300.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/gas/config/tc-mn10300.h b/gas/config/tc-mn10300.h
index 20de21c..af7a6e6 100644
--- a/gas/config/tc-mn10300.h
+++ b/gas/config/tc-mn10300.h
@@ -98,13 +98,21 @@ void mn10300_cons_fix_new PARAMS ((fragS *, int, int, expressionS *));
#define md_number_to_chars number_to_chars_littleendian
-/* Don't bother to adjust relocs. */
-/* #define tc_fix_adjustable(FIX) 0 */
#define tc_fix_adjustable(FIX) mn10300_fix_adjustable (FIX)
-extern bfd_boolean mn10300_fix_adjustable PARAMS ((struct fix *));
+extern bfd_boolean mn10300_fix_adjustable (struct fix *);
/* We do relaxing in the assembler as well as the linker. */
extern const struct relax_type md_relax_table[];
#define TC_GENERIC_RELAX_TABLE md_relax_table
#define DWARF2_LINE_MIN_INSN_LENGTH 1
+
+/* The difference between same-section symbols may be affected by linker
+ relaxation, so do not resolve such expressions in the assembler. */
+#define md_allow_local_subtract(l,r,s) mn10300_allow_local_subtract (l, r, s)
+extern bfd_boolean mn10300_allow_local_subtract (expressionS *, expressionS *, segT);
+
+#define RELOC_EXPANSION_POSSIBLE
+#define MAX_RELOC_EXPANSION 2
+
+#define TC_FRAG_TYPE bfd_boolean