From: Martin Schwidefsky Date: Wed, 17 Apr 2002 15:12:24 +0000 (+0000) Subject: * config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=302576afe4b817cdbedd9545b523189018de0eb8;p=binutils-gdb.git * config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to symbols in merge sections. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 50ab8c61532..30ac042f287 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2002-04-17 Martin Schwidefsky + + * config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to + symbols in merge sections. + 2002-04-16 Alan Modra * as.c (main): Don't reference _bfd_chunksize. diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c index 966db56b1f2..2c9a8892817 100644 --- a/gas/config/tc-s390.c +++ b/gas/config/tc-s390.c @@ -1,5 +1,5 @@ /* tc-s390.c -- Assemble for the S390 - Copyright 2000, 2001 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). This file is part of GAS, the GNU Assembler. @@ -1630,6 +1630,10 @@ tc_s390_fix_adjustable(fixP) return 0; if (S_IS_WEAK (fixP->fx_addsy)) return 0; + /* Don't adjust pc-relative references to merge sections. */ + if ((S_GET_SEGMENT(fixP->fx_addsy)->flags & SEC_MERGE) != 0 + && fixP->fx_pcrel) + return 0; /* adjust_reloc_syms doesn't know about the GOT. */ if ( fixP->fx_r_type == BFD_RELOC_32_GOTOFF || fixP->fx_r_type == BFD_RELOC_390_PLT16DBL