aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-mn10300.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2007-10-30 15:18:29 +0000
committerNick Clifton <nickc@redhat.com>2007-10-30 15:18:29 +0000
commit569006e5824adcb39d114e815712b7aa3f5e136c (patch)
tree327248411133c3dd62a95c7ff69c33935c168e0f /gas/config/tc-mn10300.h
parent4e188d170a4a1c89ab9969c638a0bf5490d27984 (diff)
downloadgdb-569006e5824adcb39d114e815712b7aa3f5e136c.zip
gdb-569006e5824adcb39d114e815712b7aa3f5e136c.tar.gz
gdb-569006e5824adcb39d114e815712b7aa3f5e136c.tar.bz2
* mn10300.h (R_MN10300_ALIGN): Define.
* reloc.c (BFD_RELOC_MN10300_ALIGN): Add. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elf-m10300.h: Handle R_MN10300_ALIGN relocs. * mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs. Re-fix off by one error in comparisons. * config/tc-mn10300.c (tc_gen_reloc): Fix test that decides when sym_diff relocs should be generated. (md_apply_fix): Skip R_MN10300_ALIGN relocs. (mn10300_fix_adjustable): Do not adjust R_MN10300_ALIGN relocs. (mn10300_handle_align): New function. Generate R_MN10300_ALIGN relocs to record alignment requests. * config/tc-mn10300.h (TC_FORCE_RELOCATION_SUB_SAME): Also force R_MN10300_ALIGN relocs. (HANDLE_ALIGN): Define. Call mn10300_handle_align. * gas/all/gas.exp: Do not run diff1.s test for mn10300. * ld-mn10300/mn10300.exp: Run new tests. Skip i126256 test if a compiler is not available. * ld-mn10300/i112045-3.s: New test. * ld-mn10300/i112045-3.d: Expected disassembly. * ld-mn10300/i135409.s: Rename to i135409-1.s. * ld-mn10300/i135409.d: Rename to i135409-1.d * ld-mn10300/i135409-2.s: New test. * ld-mn10300/i135409-2.d: Expected symbol table. * ld-mn10300/i36434.d: Adjust expected disassembly.
Diffstat (limited to 'gas/config/tc-mn10300.h')
-rw-r--r--gas/config/tc-mn10300.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gas/config/tc-mn10300.h b/gas/config/tc-mn10300.h
index af7a6e6..8a2e457 100644
--- a/gas/config/tc-mn10300.h
+++ b/gas/config/tc-mn10300.h
@@ -66,6 +66,7 @@ void mn10300_cons_fix_new PARAMS ((fragS *, int, int, expressionS *));
#define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEC) \
(((SEC)->flags & SEC_CODE) != 0 \
|| ! SEG_NORMAL (SEC) \
+ || (FIX)->fx_r_type == BFD_RELOC_MN10300_ALIGN \
|| TC_FORCE_RELOCATION (FIX))
/* We validate subtract arguments within tc_gen_reloc(), so don't
@@ -116,3 +117,6 @@ extern bfd_boolean mn10300_allow_local_subtract (expressionS *, expressionS *, s
#define MAX_RELOC_EXPANSION 2
#define TC_FRAG_TYPE bfd_boolean
+
+#define HANDLE_ALIGN(frag) mn10300_handle_align (frag)
+extern void mn10300_handle_align (fragS *);