From 8dfab4770bef1c87b022cf2f072320696c5efd6c Mon Sep 17 00:00:00 2001 From: midipix Date: Fri, 12 Jun 2015 23:14:39 -0400 Subject: binutils-2.24.51: updated patch. + solve binutils bug 16858 by removing the offending code block in its entirety. --- binutils-2.24.51.midipix.patch | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) 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. */ + -- cgit v1.2.3