Correct snafu in previous delta that broke building s390 binaries.

Resolves: #1472486
This commit is contained in:
Nick Clifton 2017-07-19 15:44:56 +01:00
parent 41e2613249
commit f51532e55a
2 changed files with 15 additions and 9 deletions

View File

@ -193,15 +193,17 @@ index 005f1d5..2a75e0b 100644
Contents of the .debug_aranges section:
Length: (44|28)
--- binutils.orig/gas/config/tc-s390.c 2017-07-17 16:58:31.919195528 +0100
+++ binutils-2.28/gas/config/tc-s390.c 2017-07-17 17:26:11.233142088 +0100
@@ -2135,6 +2135,9 @@ md_pcrel_from_section (fixS *fixp, segT
--- binutils.orig/gas/config/tc-s390.c 2017-07-19 15:24:06.295642817 +0100
+++ binutils-2.28/gas/config/tc-s390.c 2017-07-19 15:24:39.085277066 +0100
@@ -2135,8 +2135,9 @@ md_pcrel_from_section (fixS *fixp, segT
int
tc_s390_fix_adjustable (fixS *fixP)
{
+ /* Always convert local symbols - they should never be retained in the output. */
+ if (S_IS_LOCAL (fixP->fx_addsy))
+ return 1;
/* Don't adjust references to merge sections. */
if ((S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_MERGE) != 0)
- /* 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

View File

@ -43,7 +43,7 @@
Summary: A GNU collection of binary utilities
Name: %{?cross}binutils%{?_with_debug:-debug}
Version: 2.28
Release: 11%{?dist}
Release: 12%{?dist}
License: GPLv3+
Group: Development/Tools
URL: http://sources.redhat.com/binutils
@ -602,6 +602,10 @@ exit 0
%endif # %{isnative}
%changelog
* Wed Jul 19 2017 Nick Clifton <nickc@redhat.com> 2.28-12
- Correct snafu in previous delta that broke building s390 binaries.
(#1472486)
* Mon Jul 17 2017 Nick Clifton <nickc@redhat.com> 2.28-11
- Fix s390 assembler so that it remove fake local symbols from its output.
(#1460254)