summaryrefslogtreecommitdiff
path: root/binutils-2.24.51.midipix.patch
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2015-06-08 22:37:25 -0400
committermidipix <writeonce@midipix.org>2015-06-08 22:37:25 -0400
commit50bf83687815a2f0b9651cd567a69a929f8a5147 (patch)
treec214177869bea2d8cb1de601c877b552aa66d787 /binutils-2.24.51.midipix.patch
parent1db189fe768b1e7e8e3da1f4db60a63407a97530 (diff)
downloadchainport-50bf83687815a2f0b9651cd567a69a929f8a5147.tar.bz2
chainport-50bf83687815a2f0b9651cd567a69a929f8a5147.tar.xz
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.
Diffstat (limited to 'binutils-2.24.51.midipix.patch')
-rw-r--r--binutils-2.24.51.midipix.patch18
1 files changed, 14 insertions, 4 deletions
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. */