aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-s390.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-03-26 19:38:33 +0000
committerNick Clifton <nickc@redhat.com>2001-03-26 19:38:33 +0000
commit07855becf99ceef8ff1afb7cfb854442737cd07a (patch)
treedd62f2d0626d92a131a0fc4340214a12ae13dfe0 /gas/config/tc-s390.h
parentf34754ee25246028f8b23ff9fe5b7c9db5ad8c82 (diff)
downloadgdb-07855becf99ceef8ff1afb7cfb854442737cd07a.zip
gdb-07855becf99ceef8ff1afb7cfb854442737cd07a.tar.gz
gdb-07855becf99ceef8ff1afb7cfb854442737cd07a.tar.bz2
Do not optimize BFD_RELOC_390_GOTENT relocs.
Always generate relocs for VT_ relocs.
Diffstat (limited to 'gas/config/tc-s390.h')
-rw-r--r--gas/config/tc-s390.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/gas/config/tc-s390.h b/gas/config/tc-s390.h
index d3796d9..e9b3662 100644
--- a/gas/config/tc-s390.h
+++ b/gas/config/tc-s390.h
@@ -36,12 +36,13 @@ struct fix;
checked here. I am not sure if some of the others are ever used with
pcrel, but it is easier to be safe than sorry. */
-#define TC_RELOC_RTSYM_LOC_FIXUP(FIX) \
- ((FIX)->fx_addsy == NULL \
- || (! S_IS_EXTERNAL ((FIX)->fx_addsy) \
- && ! S_IS_WEAK ((FIX)->fx_addsy) \
- && S_IS_DEFINED ((FIX)->fx_addsy) \
- && ! S_IS_COMMON ((FIX)->fx_addsy)))
+#define TC_RELOC_RTSYM_LOC_FIXUP(FIX) \
+ ((FIX)->fx_r_type != BFD_RELOC_390_GOTENT \
+ && ((FIX)->fx_addsy == NULL \
+ || (! S_IS_EXTERNAL ((FIX)->fx_addsy) \
+ && ! S_IS_WEAK ((FIX)->fx_addsy) \
+ && S_IS_DEFINED ((FIX)->fx_addsy) \
+ && ! S_IS_COMMON ((FIX)->fx_addsy))))
#define tc_fix_adjustable(X) tc_s390_fix_adjustable(X)
extern int tc_s390_fix_adjustable PARAMS ((struct fix *));
@@ -52,6 +53,7 @@ extern enum bfd_architecture s390_arch PARAMS ((void));
/* The target BFD format. */
#define TARGET_FORMAT s390_target_format()
+extern const char * s390_target_format PARAMS ((void));
/* Set the endianness we are using. */
#define TARGET_BYTES_BIG_ENDIAN 1
@@ -111,3 +113,6 @@ extern long md_pcrel_from_section PARAMS ((struct fix *, segT));
extern void s390_md_end PARAMS ((void));
#define md_end() s390_md_end ()
+
+# define TC_FORCE_RELOCATION(fixp) s390_force_relocation (fixp)
+extern int s390_force_relocation PARAMS ((struct fix *));