[Patch] skipping import libraries for performance reasons - direct auto-import of dll's

Ralf Habacker Ralf.Habacker@freenet.de
Fri Dec 13 04:08:00 GMT 2002


Hi all,

this is an updated patch to the recent cvs archive, which fixes some rejection
problems of recent source.

2002-12-13  Ralf Habacker  <Ralf.Habacker@freenet.de>
            Charles Wilson  <cwilson@ece.gatech.edu>

        * ld/config.in: regenerate
        * ld/configure: regenerate
        * ld/configure.in: add check for realpath function
        * ld/deffile.h: add .data field to def_file_import
        structure
        * ld/pe-dll.c (pe_proces_import_defs): use .data
        field of def_file_import structure to initialize
        flag_data field of def_file_export structure
        (pe_implied_import_dll): new variables exp_funcbase
        and [data|bss]_[start|end].  Use DLL's internal name
        to set dll_name, not filename (which may be a symlink).
        Scan the sections and initialize [data|bss]_[start|end].
        When scanning the export table, skip _nm_ symbols, and
        mark any symbols whose rva indicates that it is in the
        .bss or .data sections as data.
        * ld/sysdep.h: include limits.h and sys/param.h, and
        define LD_PATHMAX as appropriate.  Also define REALPATH
        as realpath if it exists, NULL otherwise
        * ld/emultempl/pe.em (gld_${EMULATION_NAME}_after_open):
        call pe_process_import_defs before pe_find_data_imports,
        so that auto-import will check the virtual implib as well
        as "real" implibs.
        (gld_${EMULATION_NAME}_recognized_file): use REALPATH to
        follow symlinks to their target; check that the target's
        extension is .dll before calling pe_implied_import_dll(),
        not the filename itself (which may be a symlink).

A binutils patch contains only the patched ld is available under
http://kde-cygwin.sf.net/snapshots/binutils-ld-auto-import-dll.tar.bz2.

Is there anybody of the binutils maintaner, who could apply this patch ?

Ralf


-------------- next part --------------
A non-text attachment was scrubbed...
Name: ld-auto-import-dll.patch-csw-1
Type: application/octet-stream
Size: 8080 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20021213/cb2c4ae3/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ld-auto-import-dll.patch-csw2
Type: application/octet-stream
Size: 29300 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20021213/cb2c4ae3/attachment-0001.obj>


More information about the Binutils mailing list