summaryrefslogtreecommitdiff
path: root/ld/pe-dll.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-03-08 11:33:59 +0000
committerNick Clifton <nickc@redhat.com>2004-03-08 11:33:59 +0000
commitfa3d01d21ba4a2507994c9940ca69bbfb8cefb43 (patch)
tree09fe0fcb393c2096be23c046f87a1fe70f4f3c13 /ld/pe-dll.c
parent2c97613e62b31ba563290bcafb9ae6f17cc0725e (diff)
downloadbinutils-redhat-fa3d01d21ba4a2507994c9940ca69bbfb8cefb43.tar.gz
Honour PRIVATE keyword
Diffstat (limited to 'ld/pe-dll.c')
-rw-r--r--ld/pe-dll.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
index 5c4a3ad72b..10d636e544 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
@@ -26,6 +26,7 @@
#include "libiberty.h"
#include "safe-ctype.h"
+#include <stdint.h>
#include <time.h>
#include "ld.h"
@@ -917,8 +918,8 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
{
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;
@@ -929,7 +930,7 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
/* 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);
@@ -2257,6 +2258,9 @@ pe_dll_generate_implib (def_file *def, const char *impfilename)
char *internal = def->exports[i].internal_name;
bfd *n;
+ /* Don't add PRIVATE entries to import lib. */
+ if (pe_def_file->exports[i].flag_private)
+ continue;
def->exports[i].internal_name = def->exports[i].name;
n = make_one (def->exports + i, outarch);
n->next = head;