[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