aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-sh.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-02-17 23:13:49 +0000
committerAlan Modra <amodra@gmail.com>2007-02-17 23:13:49 +0000
commitd31f0f6d41caaba6ef79e5ebf7f135f9fa3647ac (patch)
tree582b8cb50b3d7114cd9c985e28e537a384b78cf6 /gas/config/tc-sh.h
parent4b5d35eef6a021182a555b9e76b3d9e65e3839ef (diff)
downloadgdb-d31f0f6d41caaba6ef79e5ebf7f135f9fa3647ac.zip
gdb-d31f0f6d41caaba6ef79e5ebf7f135f9fa3647ac.tar.gz
gdb-d31f0f6d41caaba6ef79e5ebf7f135f9fa3647ac.tar.bz2
* write.c (TC_FX_SIZE_SLACK): Define.
(write_relocs): Reinstate check for fixup within frag. * config/tc-bfin.h (TC_FX_SIZE_SLACK): Define. * config/tc-h8300.h (TC_FX_SIZE_SLACK): Define. * config/tc-mmix.h (TC_FX_SIZE_SLACK): Define. * config/tc-sh.h (TC_FX_SIZE_SLACK): Define. * config/tc-xstormy16.h (TC_FX_SIZE_SLACK): Define.
Diffstat (limited to 'gas/config/tc-sh.h')
-rw-r--r--gas/config/tc-sh.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/config/tc-sh.h b/gas/config/tc-sh.h
index 93fdd90..0ad914e 100644
--- a/gas/config/tc-sh.h
+++ b/gas/config/tc-sh.h
@@ -81,6 +81,11 @@ extern int sh_force_relocation (struct fix *);
#define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC)
extern long md_pcrel_from_section (struct fix *, segT);
+/* SH_COUNT relocs are allowed outside of frag.
+ The target is also buggy and sets fix size too large for other relocs. */
+#define TC_FX_SIZE_SLACK(FIX) \
+ ((FIX)->fx_r_type == BFD_RELOC_SH_COUNT ? -1 : 2)
+
#define IGNORE_NONSTANDARD_ESCAPES
#define LISTING_HEADER \