summaryrefslogtreecommitdiff
path: root/ld/pe-dll.h
diff options
context:
space:
mode:
authorCharles Wilson <cygwin@cwilson.fastmail.fm>2001-08-02 23:12:02 +0000
committerCharles Wilson <cygwin@cwilson.fastmail.fm>2001-08-02 23:12:02 +0000
commit825245b56b77358c7cfee7eb452df05fd09bc620 (patch)
tree8bc6aa93dbc9606105681d84e747dfe60753f984 /ld/pe-dll.h
parent206b44594bf88085626be358a8b2e7cd80cd2db2 (diff)
downloadbinutils-redhat-825245b56b77358c7cfee7eb452df05fd09bc620.tar.gz
2001-08-02 Charles Wilson <cwilson@ece.gatech.edu>
* ldmain.c (main): initialize link_info.pei386_auto_import * pe-dll.c: new tables for auto-export filtering (auto_export): change API, pass abfd for contextual filtering. Loop thru tables of excluded symbols instead of comparing "by hand". 2001-08-02 Paul Sokolovsky <paul.sokolovsky@technologist.com> * pe-dll.c: new variable pe_dll_enable_extra_debug. New static variable current_sec (static struct sec *). Add forward declaration for add_bfd_to_link. (process_def_file): Don't export undefined symbols. Do not export symbols starting with "_imp__". Call auto_export() with new API. (pe_walk_relocs_of_symbol): New function. (generate_reloc): add optional extra debugging (pe_dll_generate_def_file): eliminate extraneous initial blank line in output (make_one): enlarge symtab to make room for __nm__ symbols (DATA auto-import support). (make_singleton_name_thunk): New function. (make_import_fixup_mark): New function. (make_import_fixup_entry): New function. (pe_create_import_fixup): New function. (add_bfd_to_link): Specify that 'name' argument is a CONST char *. * pe-dll.h: declare new variable pe_dll_extra_pe_debug; declare new functions pe_walk_relocs_of_symbol and pe_create_import_fixup. * emultempl/pe.em: add new options --enable-auto-import, --disable-auto-import, and --enable-extra-pe-debug. (make_import_fixup): New function. (pe_find_data_imports): New function. (pr_sym): New function. (gld_${EMULATION_NAME}_after_open): Add optional extra pe debugging. Call pe_find_data_imports. Mark .idata as DATA, not CODE. 2001-08-02 Charles Wilson <cwilson@ece.gatech.edu> * ld.texinfo: add additional documentation for --export-all-symbols. Document --out-implib, --enable-auto-image-base, --disable-auto-image-base, --dll-search-prefix, --enable-auto-import, and --disable-auto-import. * ldint.texinfo: Add detailed documentation on auto-import implementation.
Diffstat (limited to 'ld/pe-dll.h')
-rw-r--r--ld/pe-dll.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/ld/pe-dll.h b/ld/pe-dll.h
index b1b5602ea9..b1c5c75f87 100644
--- a/ld/pe-dll.h
+++ b/ld/pe-dll.h
@@ -33,6 +33,7 @@ extern int pe_dll_kill_ats;
extern int pe_dll_stdcall_aliases;
extern int pe_dll_warn_dup_exports;
extern int pe_dll_compat_implib;
+extern int pe_dll_extra_pe_debug;
extern void pe_dll_id_target PARAMS ((const char *));
extern void pe_dll_add_excludes PARAMS ((const char *));
@@ -45,4 +46,9 @@ extern void pe_exe_build_sections PARAMS ((bfd *, struct bfd_link_info *));
extern void pe_dll_fill_sections PARAMS ((bfd *, struct bfd_link_info *));
extern void pe_exe_fill_sections PARAMS ((bfd *, struct bfd_link_info *));
+extern void pe_walk_relocs_of_symbol PARAMS ((struct bfd_link_info * info,
+ CONST char *name,
+ int (*cb) (arelent *)));
+
+extern void pe_create_import_fixup PARAMS ((arelent * rel));
#endif /* PE_DLL_H */