From 50bf83687815a2f0b9651cd567a69a929f8a5147 Mon Sep 17 00:00:00 2001 From: midipix Date: Mon, 8 Jun 2015 22:37:25 -0400 Subject: binutils-2.24.51: updated patch. + PE/COFF: distinguish between GOT entries and import library entries when deciding whether a symbol may be exported. signed-off by Z. Gilboa; see copying.midipix (9cd0746c) for additional information. --- binutils-2.24.51.midipix.patch | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'binutils-2.24.51.midipix.patch') diff --git a/binutils-2.24.51.midipix.patch b/binutils-2.24.51.midipix.patch index 720fc96..6fbbdb1 100644 --- a/binutils-2.24.51.midipix.patch +++ b/binutils-2.24.51.midipix.patch @@ -371,7 +371,7 @@ diff -ru --new-file a/binutils/winduni.c b/binutils/winduni.c { 437, "MS-ANSI" }, { 737, "MS-GREEK" }, --- a/ld/pe-dll.c 2014-07-03 01:37:48.000000000 -0400 -+++ b/ld/pe-dll.c 2015-06-06 13:29:26.820285683 -0400 ++++ b/ld/pe-dll.c 2015-06-08 22:21:42.593160828 -0400 @@ -40,6 +40,7 @@ #include "coff/internal.h" #include "../bfd/libcoff.h" @@ -416,7 +416,17 @@ diff -ru --new-file a/binutils/winduni.c b/binutils/winduni.c name = xmalloc (strlen ("__imp_") + strlen (sn) + 1); sprintf (name, "%s%s", "__imp_", sn); -@@ -761,7 +776,15 @@ +@@ -745,7 +760,8 @@ + free (name); + + if (blhe && blhe->type == bfd_link_hash_defined) +- continue; ++ if (strncmp (blhe->u.def.section->name, ".got$", 5)) ++ continue; + } + + if (pe_details->underscored && *sn == '_') +@@ -761,7 +777,15 @@ /* Fill data flag properly, from dlltool.c. */ if (!is_dup) p->flag_data = !(symbols[j]->flags & BSF_FUNCTION); @@ -432,7 +442,7 @@ diff -ru --new-file a/binutils/winduni.c b/binutils/winduni.c } } } -@@ -910,6 +933,7 @@ +@@ -910,6 +934,7 @@ if (blhe && (blhe->type == bfd_link_hash_defined @@ -440,7 +450,7 @@ diff -ru --new-file a/binutils/winduni.c b/binutils/winduni.c || (blhe->type == bfd_link_hash_common))) { count_exported++; -@@ -919,7 +943,7 @@ +@@ -919,7 +944,7 @@ /* Only fill in the sections. The actual offsets are computed in fill_exported_offsets() after common symbols are laid out. */ -- cgit v1.2.3