aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2002-04-17 15:12:24 +0000
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2002-04-17 15:12:24 +0000
commit302576afe4b817cdbedd9545b523189018de0eb8 (patch)
treed4d34d178b87b648d4cef27bbe51e626060cc3a4 /gas
parenteb0fdfed10ab2e42db836a503d39c12a6f3fa118 (diff)
downloadgdb-302576afe4b817cdbedd9545b523189018de0eb8.zip
gdb-302576afe4b817cdbedd9545b523189018de0eb8.tar.gz
gdb-302576afe4b817cdbedd9545b523189018de0eb8.tar.bz2
* config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to
symbols in merge sections.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-s390.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 50ab8c6..30ac042 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-17 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to
+ symbols in merge sections.
+
2002-04-16 Alan Modra <alan@weed.local>
* as.c (main): Don't reference _bfd_chunksize.
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