diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2002-04-17 15:12:24 +0000 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2002-04-17 15:12:24 +0000 |
commit | 302576afe4b817cdbedd9545b523189018de0eb8 (patch) | |
tree | d4d34d178b87b648d4cef27bbe51e626060cc3a4 /gas | |
parent | eb0fdfed10ab2e42db836a503d39c12a6f3fa118 (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-s390.c | 6 |
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 |