they link in the right order.
(make_tail): same here
(pe_process_import_defs): use sequential names for bfds to ensure
proper link order.
(pe_implied_import_dll): new function; handles linking directly
against DLLs by simulating IMPORTS directives. * emultempl/pe.em
(gld_i386pe_before_parse): hack bfd to not recognize .dll files
via bfd_pe_dll_not_recognized_hack
pe_process_import_defs
* pe-dll.c (pe_dll_generate_def_file): calculate BASE from
pe_data, only print if actually set. Print version only if
set.
(save_relocs): save relocs for both input and output.
(make_one): support internal/external different names.
(pe_dll_generate_implib): support new make_one
(pe_process_import_defs): new function; handles IMPORT
directives in .def files.
* deffile.h: add hint member.
* pe-dll.c (pe_dll_generate_implib): New function with helpers;
generates the import library directly from the export table.
(fill_edata): remember the actual hint for the import library.
symbols, clean up old code.
(pe_dll_generate_def_file): don't crash if pe_def_file is NULL
* emultempl/pe.em (gld_i386_parse_args): add
(en/dis)able-stdcall-fixups
(pe_fixup_stdcalls): warn about stdcall fixups
(gld_i386_unrecognized_file): make exported symbols undefs so that
archive members get pulled in
* deffile.h: New file; direct support for PE DLLs
* deffilep.y: New file; direct support for PE DLLs
* emultempl/pe.em: add direct support for PE DLLs
* configure.tgt: allow target-specific extra files
* configure.in: allow target-specific extra files
* ldlang.c (lang_add_assignment): return the assignment so that
one can change the value later based on the object files (pe-dll
DEF files do this)
* ldint.texinfo: add section for emulation walkthrough