aboutsummaryrefslogtreecommitdiff
path: root/binutils/doc
diff options
context:
space:
mode:
authorDave Korn <dave.korn@artimi.com>2009-09-04 01:22:19 +0000
committerDave Korn <dave.korn@artimi.com>2009-09-04 01:22:19 +0000
commit10e636d21ea3e704dca34a6393fdefd1e90f07c8 (patch)
tree5ede2302649977c1e636fbbffa81ac4930417c66 /binutils/doc
parent8f0e5a0604c47f1ce02a6a431c8528031a76bfbc (diff)
downloadgdb-10e636d21ea3e704dca34a6393fdefd1e90f07c8.zip
gdb-10e636d21ea3e704dca34a6393fdefd1e90f07c8.tar.gz
gdb-10e636d21ea3e704dca34a6393fdefd1e90f07c8.tar.bz2
2009-09-04 Timo Kreuzer <timo.kreuzer@web.de>
* dlltool.c (delayimp_name): Add new global variable (usage, long_options, main): Add new option "-y" / "--output-delaylib" (struct mac): Add fields how_dljtab_size, how_dljtab_roff1, how_dljtab_roff2, how_dljtab, trampoline. (i386_dljtab): Add binary stub for x86 delay import. (i386_trampoline): Add text assembly stub for x86 delay import. (mtable): Add delay import data for M386 and MX86 only. (make_delay_head): New function. (make_one_lib_file): New arg delay creates delay-load import stub. (gen_lib_file): New arg delay likewise. (HOW_JTAB, HOW_JTAB_SIZE, HOW_JTAB_ROFF): New arg delay likewise. (HOW_JTAB_ROFF2, HOW_JTAB_ROFF3): New macros for delay import. (make_tail): Convert hard TABS embedded in strings to "\t" escapes. * NEWS: Mention new feature. Also fix whitespace. * doc/binutils.texi: Updated dlltool documentation.
Diffstat (limited to 'binutils/doc')
-rw-r--r--binutils/doc/binutils.texi12
1 files changed, 12 insertions, 0 deletions
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index 6353fd1..cc01546 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -3497,6 +3497,7 @@ dlltool [@option{-d}|@option{--input-def} @var{def-file-name}]
[@option{-e}|@option{--output-exp} @var{exports-file-name}]
[@option{-z}|@option{--output-def} @var{def-file-name}]
[@option{-l}|@option{--output-lib} @var{library-file-name}]
+ [@option{-y}|@option{--output-delaylib} @var{library-file-name}]
[@option{--export-all-symbols}] [@option{--no-export-all-symbols}]
[@option{--exclude-symbols} @var{list}]
[@option{--no-default-excludes}]
@@ -3563,6 +3564,13 @@ will link with in order to access the functions in the DLL (an `import
library'). This file can be created by giving the @option{-l} option to
dlltool when it is creating or reading in a @file{.def} file.
+If the @option{-y} option is specified, dlltool generates a delay-import
+library that can be used instead of the normal import library to allow
+a program to link to the dll only as soon as an imported function is
+called for the first time. The resulting executable will need to be
+linked to the static delayimp library containing __delayLoadHelper2(),
+which in turn will import LoadLibraryA and GetProcAddress from kernel32.
+
@command{dlltool} builds the library file by hand, but it builds the
exports file by creating temporary files containing assembler statements
and then assembling these. The @option{-S} command line option can be
@@ -3621,6 +3629,10 @@ Specifies the name of the @file{.def} file to be created by dlltool.
@itemx --output-lib @var{filename}
Specifies the name of the library file to be created by dlltool.
+@item -y @var{filename}
+@itemx --output-delaylib @var{filename}
+Specifies the name of the delay-import library file to be created by dlltool.
+
@item --export-all-symbols
Treat all global and weak defined symbols found in the input object
files as symbols to be exported. There is a small list of symbols which