aboutsummaryrefslogtreecommitdiff
path: root/ld/pe-dll.c
AgeCommit message (Collapse)AuthorFilesLines
2004-04-29 * pe-dll.c: Revert changes accidentally committed 2004-03-08.Alan Modra1-13/+12
(fill_edata): Correct pointer arithmetic.
2004-03-08Honour PRIVATE keywordNick Clifton1-3/+7
2004-02-25 * pe-dll.c (fill_edata): Check that exported_symbol_sections isDanny Smith1-2/+2
not NULL.
2004-01-20 * pe-dll.c (pe_create_import_fixup): Clear WP_TEXT flag.Danny Smith1-1/+3
* ld.texinfo (--omagic): Note that writable text section does not conform to published PE-COFF specs. (--enable-auto-import): Likewise.
2003-12-05Fixes for use of ARM_26D reloc in arm-wince toolchain.Nick Clifton1-1/+6
2003-10-31Index: sim/frv/ChangeLogAndrew Cagney1-5/+5
2003-10-30 Andrew Cagney <cagney@redhat.com> * traps.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: sim/d10v/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * simops.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: sim/common/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * sim-trace.c, sim-base.h: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: ld/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * emultempl/pe.em, pe-dll.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: bfd/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * syms.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". * vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto. * mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto. * cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto. * bfd-in2.h: Re-generate.
2003-10-202003-10-19 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-8/+8
* targets.c: Replace "struct sec" with "struct bfd_section" * syms.c, sparclynx.c, section.c, opncls.c: Ditto. * libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto. * elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto. * aout-tic30.c, aout-target.h: * bfd-in2.h, libcoff.h, libbfd.h: Regenerate. Index: binutils/ChangeLog 2003-10-19 Andrew Cagney <cagney@redhat.com> * coffgrok.h (coff_section): Replace 'struct sec" with "struct bfd_section". Index: gdb/ChangeLog 2003-10-19 Andrew Cagney <cagney@redhat.com> * symtab.c: Replace "struct sec" with "struct bfd_section". * objfiles.c, linespec.c, blockframe.c, block.c: Ditto. Index: ld/ChangeLog 2003-10-19 Andrew Cagney <cagney@redhat.com> * pe-dll.c: Replace "struct sec" with "struct bfd_section". Index: sim/common/ChangeLog 2003-10-19 Andrew Cagney <cagney@redhat.com> * sim-base.h: Replace "struct sec" with "struct bfd_section".
2003-10-14 * pe-dll.c (pe_implied_import_dll): Also scan .rdata sectionsDanny Smith1-4/+17
to identify data symbols.
2003-10-02 Correct sym def order & pick right sym for .idata$7 reloc.Nick Clifton1-5/+5
2003-07-17Add libcygwin to the lib autofiler listNick Clifton1-0/+1
2003-06-28Convert to C90Alan Modra1-257/+167
2003-06-17Catch and ignore an ARM_26D reloc.Nick Clifton1-0/+7
2003-06-02Scan table pe_dll->exports, which is sorted alphabetically, instead ofNick Clifton1-6/+10
exported_symbols, which is sorted by ordinal.
2003-04-02pe-dll.c (pe_detail_list): arm-pe targets use underscores.Nick Clifton1-2/+12
(process_def_file): Don't create an export section if there are no exports and we're building an exe. (pe_dll_build_sections): Ditto (pe_dll_fill_sections): Conditionalize setting abfd->dll true on info->shared emultempl/pe.em (gld_${EMULATION_NAME}_after_open): If i386pe or armpe, call pe_dll_build_section() for both exe's and dll's, not just dll's. Don't call pe_dll_build_section() if link_info.relocateable. (gld_${EMULATION_NAME}_finish): For all targets except shpe and mipspe, call pe_dll_fill_sections() for both exe's and dll's, not just dll's. Don't call pe_dll_fill_sections() if link_info.relocateable.
2003-02-21Disable region size checking whilst relaxing sections.Nick Clifton1-2/+2
2003-01-28Add code to prevent importing a dll multiple times.Nick Clifton1-3/+13
2003-01-05* ld/pe-dll.c (autofilter_symbollist): Add cygwin_crt0.Christopher Faylor1-0/+1
2003-01-02Add do_pseudo_reloc and _pei386_runtime_relocator to the exclude list.Nick Clifton1-1/+3
2003-01-02 * ldfile.c: Fix comment typos.Kazu Hirata1-6/+6
* ldlang.c: Likewise. * mri.c: Likewise. * pe-dll.c: Likewise.
2002-12-16Add support to skip import libraries for performance reasons and insteadNick Clifton1-9/+74
use the direct auto-import of dll's
2002-11-30s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. SimplifyAlan Modra1-17/+17
comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
2002-11-14Add --enable-auto-import extension.Nick Clifton1-8/+135
2002-11-11* pe-dll.c (autofilter_liblist): add libmingwex and libgcj to the list ofChristopher Faylor1-0/+2
restricted auto-export libs.
2002-11-11* pe-dll.c (autofilter_liblist): Generalize library names to catch moreChristopher Faylor1-6/+6
creative library naming instances like, e.g., libstdc++-2.a.
2002-11-06Adds support for fastcall symbols as used on Microsoft Windows platformsNick Clifton1-17/+45
(i386)
2002-10-30 * emultempl/aix.em: Use include <> for generated headers.Daniel Jacobowitz1-1/+1
* emultempl/beos.em: Likewise. * emultempl/elf32.em: Likewise. * emultempl/pe.em: Likewise. * ldctor.c: Likewise. * ldexp.c: Likewise. * ldfile.c: Likewise. * ldlang.c: Likewise. * ldlex.c: Likewise. * ldlex.l: Likewise. * ldmain.c: Likewise. * ldmisc.c: Likewise. * ldwrite.c: Likewise. * lexsup.c: Likewise. * mri.c: Likewise. * pe-dll.c: Likewise.
2002-10-11 * pe-dll.c (make_import_fixup_mark): Avoid type-punned pointer.Alan Modra1-7/+12
2002-10-07Don't re-export auto-import symbols.Nick Clifton1-2/+6
2002-05-25 * ldemul.c: Fix formatting.Kazu Hirata1-5/+5
* ldfile.c: Likewise. * pe-dll.c: Likewise. * pe-dll.h: Likewise.
2002-05-22* pe-dll.c (autofilter_liblist): Add more system libs excluded by default.Christopher Faylor1-6/+27
(autofilter_objlist): Add crtbegin.o, crtend.o. * emultempl/pe.em (OPTION_EXCLUDE_LIBS): Add new define. (longopts): Add new option --exclude-libs. (gld_${EMULATION_NAME}_list_options): Give quick help about it. (gld_${EMULATION_NAME}_parse_args): Use it. * pe-dll.h (pe_dll_add_excludes): Add second param to prototype. * pe-dll.c (exclude_list_struct): Add field type to distinguish symbols from whole archives. (pe_dll_add_excludes): Set excludes->type. (auto_export): Add new variable libname and set to archive basename if abfd. Use it when filtering default and user-specified libarary excludes. Let string "ALL" mean all libs when filtering user-specified libs. * ld.texinfo: Document --exclude-libs.
2002-05-03 * ld.h: Fix formatting.Kazu Hirata1-33/+33
* ldexp.c: Likewise. * ldfile.c: Likewise. * ldlang.c: Likewise. * ldmain.c: Likewise. * lexsup.c: Likewise. * pe-dll.c: Likewise.
2002-02-15 Support arbitrary length fill patterns.Alan Modra1-3/+3
* ldexp.h (etree_value_type): Add "str" field. (union etree_union): Add "str" to "value" struct. (exp_bigintop): Declare. (exp_get_fill): Declare. * ldexp.c: Include "safe-ctype.h". (exp_intop): Set value.str to NULL. (exp_bigintop): New function. (new_rel): Pass in "str", and set new.str from it. (new_rel_from_section): Set new.str to NULL. (fold_name): Adjust calls to new_rel. (exp_fold_tree): Likewise. (exp_get_fill): New function. * ldgram.y (struct big_int bigint, fill_type *fill): New. (INT): Returns a "bigint". Adjust all code handling INTs. (fill_opt): Returns a "fill". (fill_exp): Split out of fill_opt, use for FILL. * ldlang.h (struct _fill_type): New. (fill_type): Move typedef to ldexp.h. (lang_output_section_statement_type): "fill" is now a pointer. (lang_fill_statement_type): Likewise. (lang_padding_statement_type): Likewise. (lang_add_fill): Now takes a "fill_type *" param. (lang_leave_output_section_statement): Likewise. (lang_do_assignments): Likewise. (lang_size_sections): Likewise. (lang_leave_overlay_section): Likewise. (lang_leave_overlay): Likewise. * ldlang.c: Include ldgram.h after ldexp.h. (lang_output_section_statement_lookup): Adjust for fill_type change. (print_fill_statement): Likewise. (print_padding_statement): Likewise. (insert_pad): Now takes a "fill_type *" arg. (size_input_section): Likewise. (lang_size_sections_1): Likewise. (lang_size_sections): Likewise. (lang_do_assignments): Likewise. (lang_add_fill): Likewise. (lang_leave_output_section_statement): Likewise. (lang_leave_overlay_section): Likewise. (lang_leave_overlay): Likewise. Adjust all callers of the above function. * ldlex.l: Include ldgram.h after ldexp.h. Allow hex numbers starting with "0X" as well as "0x". Return bigint.str for hex numbers starting with "0x" or "0X", zero bigint.str otherwise. Always use base 16 for numbers starting with "$". * ldmain.c: Include ldgram.h after ldexp.h. * ldwrite.c (build_link_order): Use bfd_data_link_order in place of bfd_fill_link_order. * pe-dll.c: Adjust lang_do_assignments calls. * emultempl/elf32.em: Likewise. * emultempl/hppaelf.em: Likewise. * emultempl/ppc64elf.em: Likewise. * emultempl/beos.em: Include ldgram.h after ldexp.h, adjust lang_add_assignment call. * emultempl/pe.em: Likewise.
2001-10-19* pe-dll.c (autofilter_objectlist): Add gcrt0.o.DJ Delorie1-5/+6
(auto-export): Fix indentation.
2001-10-19* pe-dll.c (autofilter_objectlist): Add startup objectsDJ Delorie1-6/+8
for profiling. (auto-export): Constify char * p. Extract file basename and use strcmp rather than ststr for object lookup.
2001-10-11* pe-dll.c (autofilter_entry_type autofilter_liblist: AddDJ Delorie1-0/+2
startup files for mingw32 dlls to list.
2001-09-24Fix thinkoNick Clifton1-1/+1
2001-09-24Remove spurious prototype.Nick Clifton1-4/+0
2001-09-24oops - omitted from previous deltaNick Clifton1-2/+4
2001-09-24Define and use pe_get_data_import_dll_name().Nick Clifton1-3/+6
2001-09-19Locale changes from Bruno Haible <haible@clisp.cons.org>.H.J. Lu1-4/+4
2001-09-18 * deffilep.y (def_stash_module): Constify "name" param.Alan Modra1-22/+24
* pe-dll.c: Replace CONST with const throughout. (quick_symbol): Constify "n1", "n2", "n3" params. (make_singleton_name_thunk): Constify "import" param. Make "buffer_len" a size_t. (make_import_fixup_entry): Constify "name", "fixup_name", "dll_symname" params. (pe_get16): Cast args of bfd_seek. Replace bfd_read with bfd_bread. (pe_get32): Likewise. (pe_implied_import_dll): Likewise. * emultempl/beos.em (sort_by_file_name): Constify "ra", "rb". (sort_by_section_name): Likewise. * emultempl/pe.em: Move defines for arm_epoc_pe before bfd.h included. (make_import_fixup): Cast printf arg, rel->address to long rather than int. (gld_${EMULATION_NAME}_after_open): Don't compare NULL against int.
2001-09-14Fix memory leakNick Clifton1-394/+430
2001-09-122001-09-12 Paul Sokolovsky <Paul.Sokolovsky@technologist.com>Charles Wilson1-5/+5
* emultempl/pe.em(make_import_fixup): change signature to take asection as well as arelec; we need this for proper error reporting. Only call pe_create_import_fixup() if there is no attempt to add a constant addend to the reloc; otherwise, report error condition. * pe-dll.c(pe_walk_relocs_of_symbol): change signature, since final argument is a pointer to make_import_fixup(). Change call to cb() to match make_import_fixup() signature. (make_import_fixup_mark): make buffer_len unsigned. * pe-dll.h: change signature of pe_walk_relocs_of_symbol. 2001-09-12 Charles Wilson <cwilson@ece.gatech.edu> * ld.texinfo: add verbose documentation for auto-import direct-addressing workaround, to compliment the terse error message.
2001-08-21 * deffilep.y: Add missing prototypes.Andreas Jaeger1-1/+25
* pe-dll.c: Likewise.
2001-08-20 * pe-dll.c (pe_dll_fill_sections): Correct type of "relax" paramAlan Modra1-2/+2
passed to lang_size_sections. (pe_exe_fill_sections): Likewise. * emultempl/pe.em (output_prev_sec_find): Copied from elf32.em. (gld_${EMULATION_NAME}_place_orphan): Merge from elf32.em.
2001-08-022001-08-02 Charles Wilson <cwilson@ece.gatech.edu>Charles Wilson1-23/+487
* 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.
2001-03-13Fixtypos in ChangeLogs, fix copyright dates in filesNick Clifton1-1/+1
2000-10-10* pe-dll.c (make_one): Do not generate code thunk for DATADJ Delorie1-21/+29
exports. (process_def_file): deduce DATA flag for auto-export sumbols.
2000-10-092000-10-09 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-6/+6
* pe-dll.c: Revert some formatting fixes.
2000-10-092000-10-09 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-39/+39
* pe-dll.c: Fix formatting.