forked from pool/binutils
19 lines
715 B
Diff
19 lines
715 B
Diff
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
|
|
index 35cee61..40c9f6f 100644
|
|
--- a/gas/config/tc-s390.c
|
|
+++ b/gas/config/tc-s390.c
|
|
@@ -2133,9 +2133,11 @@ md_pcrel_from_section (fixS *fixp, segT sec ATTRIBUTE_UNUSED)
|
|
int
|
|
tc_s390_fix_adjustable (fixS *fixP)
|
|
{
|
|
- /* Don't adjust references to merge sections. */
|
|
- if ((S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_MERGE) != 0)
|
|
+ /* Don't adjust pc-relative references to merge sections. */
|
|
+ if (fixP->fx_pcrel
|
|
+ && (S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_MERGE) != 0)
|
|
return 0;
|
|
+
|
|
/* adjust_reloc_syms doesn't know about the GOT. */
|
|
if ( fixP->fx_r_type == BFD_RELOC_16_GOTOFF
|
|
|| fixP->fx_r_type == BFD_RELOC_32_GOTOFF
|