[qboosh@pld-linux.org: binutils 2.14.90.0.8 - ld crash when cross-linking PE DLL on 64-bit archs]
H. J. Lu
hjl@lucon.org
Wed Feb 25 00:16:00 GMT 2004
Here is the patch.
H.J.
----- Forwarded message from Jakub Bogusz <qboosh@pld-linux.org> -----
Delivered-To: hjl@localhost.lucon.org
Date: Thu, 19 Feb 2004 20:08:15 +0100
From: Jakub Bogusz <qboosh@pld-linux.org>
To: hjl@lucon.org
Subject: binutils 2.14.90.0.8 - ld crash when cross-linking PE DLL on 64-bit archs
User-Agent: Mutt/1.4.2.1i
X-Spam-Status: No, hits=-2.0 required=3.6
tests=AWL,PATCH_UNIFIED_DIFF,SPAM_PHRASE_00_01,USER_AGENT,
USER_AGENT_MUTT
version=2.44
X-Spam-Level:
----- End forwarded message -----
-------------- next part --------------
--- binutils-2.14.90.0.8/ld/pe-dll.c.orig 2004-01-14 21:07:52.000000000 +0000
+++ binutils-2.14.90.0.8/ld/pe-dll.c 2004-02-18 21:56:38.000000000 +0000
@@ -25,6 +25,7 @@
#include "libiberty.h"
#include "safe-ctype.h"
+#include <stdint.h>
#include <time.h>
#include "ld.h"
@@ -916,8 +917,8 @@
{
int s, hint;
unsigned char *edirectory;
- unsigned long *eaddresses;
- unsigned long *enameptrs;
+ uint32_t *eaddresses;
+ uint32_t *enameptrs;
unsigned short *eordinals;
unsigned char *enamestr;
time_t now;
@@ -928,7 +929,7 @@
/* Note use of array pointer math here. */
edirectory = edata_d;
- eaddresses = (unsigned long *) (edata_d + 40);
+ eaddresses = (uint32_t *) (edata_d + 40);
enameptrs = eaddresses + export_table_size;
eordinals = (unsigned short *) (enameptrs + count_exported_byname);
enamestr = (char *) (eordinals + count_exported_byname);
More information about the Binutils
mailing list