summaryrefslogtreecommitdiffstats
path: root/ld/pe-dll.h
diff options
context:
space:
mode:
authorDave Korn <dave.korn@artimi.com>2009-01-03 18:04:16 +0000
committerDave Korn <dave.korn@artimi.com>2009-01-03 18:04:16 +0000
commite1c37eb57ebf5a431a508918321a1f07fc3025ac (patch)
tree1c0e7f13e930c5711dedf5f40a7567ebd84ac99c /ld/pe-dll.h
parentb4f8c801a1170949157e08f5d7c8ca5bd4b22804 (diff)
downloadppe42-binutils-e1c37eb57ebf5a431a508918321a1f07fc3025ac.tar.gz
ppe42-binutils-e1c37eb57ebf5a431a508918321a1f07fc3025ac.zip
* NEWS: Mention new feature --exclude-modules-for-implib.
* ld.texinfo: Document new --exclude-modules-for-implib option. * pe-dll.c (exclude_list_struct): Change type member from int to new enumeration exclude_type. (pe_dll_add_excludes): Accept exclude_type instead of int param. (auto_export): Replace magic constants by exclude_type values and handle new choice EXCLUDEFORIMPLIB. (pe_dll_generate_implib): Accept a pointer to the link_info and iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open fresh BFDs for any found and link into import lib archive chain. * pe-dll.h (exclude_type): Add new enumerated type to replace magic constants previously used for exclude_list_struct type member. (pe_dll_add_excludes, pe_dll_generate_implib): Update prototypes. * pep-dll.h (exclude_type, pe_dll_add_excludes, pe_dll_generate_implib): Likewise to all the above. * emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB): Define new getopts long option code for new --exclude-modules-for-implib option. (gld${EMULATION_NAME}_add_options): Add new entry to xtra_long[]. (gld_${EMULATION_NAME}_list_options): List usage for it. (gld${EMULATION_NAME}_handle_option): Use exclude_type enumerated values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB. (gld_${EMULATION_NAME}_finish): Pass pointer to link_info when calling pe_dll_generate_implib. * emultempl/pep.em (options): Define new enumerated value for getopts long option code for new --exclude-modules-for-implib option. (gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options, gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish): Again, likewise to all the above.
Diffstat (limited to 'ld/pe-dll.h')
-rw-r--r--ld/pe-dll.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/ld/pe-dll.h b/ld/pe-dll.h
index 6645c4c83b..83e7422fe6 100644
--- a/ld/pe-dll.h
+++ b/ld/pe-dll.h
@@ -36,14 +36,16 @@ extern int pe_dll_warn_dup_exports;
extern int pe_dll_compat_implib;
extern int pe_dll_extra_pe_debug;
+typedef enum { EXCLUDESYMS, EXCLUDELIBS, EXCLUDEFORIMPLIB } exclude_type;
+
extern void pe_dll_id_target
(const char *);
extern void pe_dll_add_excludes
- (const char *, const int);
+ (const char *, const exclude_type);
extern void pe_dll_generate_def_file
(const char *);
extern void pe_dll_generate_implib
- (def_file *, const char *);
+ (def_file *, const char *, struct bfd_link_info *);
extern void pe_process_import_defs
(bfd *, struct bfd_link_info *);
extern bfd_boolean pe_implied_import_dll
OpenPOWER on IntegriCloud