Do not optimize BFD_RELOC_390_GOTENT relocs.

Always generate relocs for VT_ relocs.
This commit is contained in:
Nick Clifton 2001-03-26 19:38:33 +00:00
parent f34754ee25
commit 07855becf9
3 changed files with 948 additions and 777 deletions

View File

@ -1,3 +1,16 @@
2001-03-26 Martin Schwidefsky <schwidefsky@de.ibm.com>
* config/tc-s390.c (tc_s390_fix_adjustable): Add test for
BFD_RELOC_390_GOTENT.
* config/tc-s390.h (TC_RELOC_RTSYM_LOC_FIXUP): Add test for
BFD_RELOC_390_GOTENT.
2001-03-26 Nick Clifton <nickc@redhat.com>
* config/tc-s390.h (TC_FORCE_RELOCATION): Define.
* config/tc-s390.c (s390_force_relocation): New function: Force
relocations for VTINHERIT relocs.
2001-03-23 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* doc/as.texinfo: Put @c man begin to generate the as man page.

File diff suppressed because it is too large Load Diff

View File

@ -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 *));