* 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.
(check_nocrossrefs): Call it.
(check_nocrossref): Interate over h->refs here instead of..
(check_refs): ..here. Pass in the symbol name, section, and bfd
rather than hash_entry pointers.
(struct check_refs_info): Keep symbol name rather than hash entry.
Remove "same".
(check_reloc_refs): Tweak for above changes in check_refs_info.
Only report references to section syms when symname is NULL to
prevent duplicate messages for the same reloc.
* emultempl/elf32.em: Do not assuming that contents of the buffer
returned from basename function will remain unchanged accross other
function calls.
NOTE: DJ Delorie recomends doing a basename()->lbasename() conversion.
Approved by: DJ Delorie
<200107100030.UAA01223@envy.delorie.com>
Update for API change in bfd_elf${ELFSIZE}_size_dynamic_sections.
* mpw-elfmips.c (gldelf32ebmip_before_allocation): Ditto.
* ld.h (args_type): Remove member export_dynamic. All users
changed to use struct bfd_link_info member.
OBJCOPYFLAGS, READELF, READELFFLAGS, LD, LDFLAGS): Provide
default.
* lib/ld-lib.exp (run_dump_test): Import from gas testsuite. Add
new options "ld", "source", "xfail", "target", "notarget" and
"error". Support the runtest_file_p "*.exp=testname" feature.
(slurp_options, regexp_diff, file_contents, verbose_eval): Import
from gas testsuite.
* ld-bootstrap/bootstrap.exp: Rebuild tmpdir/ld2 with tmpdir/ld3
on Linux/mips.
* ld-elfvers/vers.exp: Also run on istarget Linux/mips.
* ld-elfvsb/elfvsb.exp: Likewise.
* ld-shared/shared.exp: Likewise.
* ld-selective/selective.exp: Mark selective2, selective3,
selective4 and selective5 xfail on Linux/mips.
* ld-shared/main.c: Skip invalid -Bsymbolic tests on Linux/mips.
* symbolic.dat: Remove invalid -Bsymbolic tests on Linux/mips.
* ld-srec/srec.exp: Add Linux/mips to xfail.