diff options
author | midipix <writeonce@midipix.org> | 2015-06-12 23:14:39 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2015-06-12 23:14:39 -0400 |
commit | 8dfab4770bef1c87b022cf2f072320696c5efd6c (patch) | |
tree | c1d906e1f4ab8db6ee7ea01b7590abd166cc70a2 | |
parent | 50bf83687815a2f0b9651cd567a69a929f8a5147 (diff) | |
download | chainport-8dfab4770bef1c87b022cf2f072320696c5efd6c.tar.bz2 chainport-8dfab4770bef1c87b022cf2f072320696c5efd6c.tar.xz |
binutils-2.24.51: updated patch.
+ solve binutils bug 16858 by removing the offending code block in its entirety.
-rw-r--r-- | binutils-2.24.51.midipix.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/binutils-2.24.51.midipix.patch b/binutils-2.24.51.midipix.patch index 6fbbdb1..0bb2041 100644 --- a/binutils-2.24.51.midipix.patch +++ b/binutils-2.24.51.midipix.patch @@ -634,3 +634,33 @@ diff -ru a/bfd/linker.c b/bfd/linker.c arh = archive_hash_lookup (&arsym_hash, arsym->name, TRUE, FALSE); if (arh == NULL) goto error_return; +diff -ru a/gas/config/tc-i386.c b/gas/config/tc-i386.c +--- a/gas/config/tc-i386.c 2014-07-03 01:37:25.000000000 -0400 ++++ b/gas/config/tc-i386.c 2015-06-12 22:40:37.100250091 -0400 +@@ -9148,25 +9148,6 @@ + value += md_pcrel_from (fixP); + #endif + } +-#if defined (OBJ_COFF) && defined (TE_PE) +- if (fixP->fx_addsy != NULL +- && S_IS_WEAK (fixP->fx_addsy) +- /* PR 16858: Do not modify weak function references. */ +- && ! fixP->fx_pcrel) +- { +-#if !defined (TE_PEP) +- /* For x86 PE weak function symbols are neither PC-relative +- nor do they set S_IS_FUNCTION. So the only reliable way +- to detect them is to check the flags of their containing +- section. */ +- if (S_GET_SEGMENT (fixP->fx_addsy) != NULL +- && S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_CODE) +- ; +- else +-#endif +- value -= S_GET_VALUE (fixP->fx_addsy); +- } +-#endif + + /* Fix a few things - the dynamic linker expects certain values here, + and we must not disappoint it. */ + |