From 302576afe4b817cdbedd9545b523189018de0eb8 Mon Sep 17 00:00:00 2001 From: Martin Schwidefsky Date: Wed, 17 Apr 2002 15:12:24 +0000 Subject: * config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to symbols in merge sections. --- gas/config/tc-s390.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gas/config/tc-s390.c') diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c index 966db56..2c9a889 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 -- cgit v1.1