You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
534 lines
20 KiB
Groff
534 lines
20 KiB
Groff
4 years ago
|
.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13)
|
||
4 years ago
|
.\"
|
||
|
.\" Standard preamble:
|
||
|
.\" ========================================================================
|
||
|
.de Sp \" Vertical space (when we can't use .PP)
|
||
|
.if t .sp .5v
|
||
|
.if n .sp
|
||
|
..
|
||
|
.de Vb \" Begin verbatim text
|
||
|
.ft CW
|
||
|
.nf
|
||
|
.ne \\$1
|
||
|
..
|
||
|
.de Ve \" End verbatim text
|
||
|
.ft R
|
||
|
.fi
|
||
|
..
|
||
|
.\" Set up some character translations and predefined strings. \*(-- will
|
||
|
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||
|
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||
|
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||
|
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||
|
.\" nothing in troff, for use with C<>.
|
||
|
.tr \(*W-
|
||
|
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||
|
.ie n \{\
|
||
|
. ds -- \(*W-
|
||
|
. ds PI pi
|
||
|
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||
|
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||
|
. ds L" ""
|
||
|
. ds R" ""
|
||
|
. ds C` ""
|
||
|
. ds C' ""
|
||
|
'br\}
|
||
|
.el\{\
|
||
|
. ds -- \|\(em\|
|
||
|
. ds PI \(*p
|
||
|
. ds L" ``
|
||
|
. ds R" ''
|
||
|
'br\}
|
||
|
.\"
|
||
|
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||
|
.ie \n(.g .ds Aq \(aq
|
||
|
.el .ds Aq '
|
||
|
.\"
|
||
4 years ago
|
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||
4 years ago
|
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||
|
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||
|
.\" output yourself in some meaningful fashion.
|
||
4 years ago
|
.ie \nF \{\
|
||
|
. de IX
|
||
|
. tm Index:\\$1\t\\n%\t"\\$2"
|
||
4 years ago
|
..
|
||
4 years ago
|
. nr % 0
|
||
|
. rr F
|
||
|
.\}
|
||
|
.el \{\
|
||
|
. de IX
|
||
4 years ago
|
..
|
||
|
.\}
|
||
|
.\"
|
||
|
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||
|
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||
|
. \" fudge factors for nroff and troff
|
||
|
.if n \{\
|
||
|
. ds #H 0
|
||
|
. ds #V .8m
|
||
|
. ds #F .3m
|
||
|
. ds #[ \f1
|
||
|
. ds #] \fP
|
||
|
.\}
|
||
|
.if t \{\
|
||
|
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||
|
. ds #V .6m
|
||
|
. ds #F 0
|
||
|
. ds #[ \&
|
||
|
. ds #] \&
|
||
|
.\}
|
||
|
. \" simple accents for nroff and troff
|
||
|
.if n \{\
|
||
|
. ds ' \&
|
||
|
. ds ` \&
|
||
|
. ds ^ \&
|
||
|
. ds , \&
|
||
|
. ds ~ ~
|
||
|
. ds /
|
||
|
.\}
|
||
|
.if t \{\
|
||
|
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||
|
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||
|
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||
|
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||
|
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||
|
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||
|
.\}
|
||
|
. \" troff and (daisy-wheel) nroff accents
|
||
|
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||
|
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||
|
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||
|
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||
|
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||
|
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||
|
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||
|
.ds ae a\h'-(\w'a'u*4/10)'e
|
||
|
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||
|
. \" corrections for vroff
|
||
|
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||
|
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||
|
. \" for low resolution devices (crt and lpr)
|
||
|
.if \n(.H>23 .if \n(.V>19 \
|
||
|
\{\
|
||
|
. ds : e
|
||
|
. ds 8 ss
|
||
|
. ds o a
|
||
|
. ds d- d\h'-1'\(ga
|
||
|
. ds D- D\h'-1'\(hy
|
||
|
. ds th \o'bp'
|
||
|
. ds Th \o'LP'
|
||
|
. ds ae ae
|
||
|
. ds Ae AE
|
||
|
.\}
|
||
|
.rm #[ #] #H #V #F C
|
||
|
.\" ========================================================================
|
||
|
.\"
|
||
|
.IX Title "DLLTOOL 1"
|
||
4 years ago
|
.TH DLLTOOL 1 "2020-07-13" "binutils-2.32" "GNU Development Tools"
|
||
4 years ago
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||
|
.\" way too many mistakes in technical documents.
|
||
|
.if n .ad l
|
||
|
.nh
|
||
|
.SH "NAME"
|
||
4 years ago
|
dlltool \- Create files needed to build and use DLLs.
|
||
4 years ago
|
.SH "SYNOPSIS"
|
||
|
.IX Header "SYNOPSIS"
|
||
|
dlltool [\fB\-d\fR|\fB\-\-input\-def\fR \fIdef-file-name\fR]
|
||
|
[\fB\-b\fR|\fB\-\-base\-file\fR \fIbase-file-name\fR]
|
||
|
[\fB\-e\fR|\fB\-\-output\-exp\fR \fIexports-file-name\fR]
|
||
|
[\fB\-z\fR|\fB\-\-output\-def\fR \fIdef-file-name\fR]
|
||
|
[\fB\-l\fR|\fB\-\-output\-lib\fR \fIlibrary-file-name\fR]
|
||
|
[\fB\-y\fR|\fB\-\-output\-delaylib\fR \fIlibrary-file-name\fR]
|
||
|
[\fB\-\-export\-all\-symbols\fR] [\fB\-\-no\-export\-all\-symbols\fR]
|
||
|
[\fB\-\-exclude\-symbols\fR \fIlist\fR]
|
||
|
[\fB\-\-no\-default\-excludes\fR]
|
||
|
[\fB\-S\fR|\fB\-\-as\fR \fIpath-to-assembler\fR] [\fB\-f\fR|\fB\-\-as\-flags\fR \fIoptions\fR]
|
||
|
[\fB\-D\fR|\fB\-\-dllname\fR \fIname\fR] [\fB\-m\fR|\fB\-\-machine\fR \fImachine\fR]
|
||
|
[\fB\-a\fR|\fB\-\-add\-indirect\fR]
|
||
|
[\fB\-U\fR|\fB\-\-add\-underscore\fR] [\fB\-\-add\-stdcall\-underscore\fR]
|
||
|
[\fB\-k\fR|\fB\-\-kill\-at\fR] [\fB\-A\fR|\fB\-\-add\-stdcall\-alias\fR]
|
||
|
[\fB\-p\fR|\fB\-\-ext\-prefix\-alias\fR \fIprefix\fR]
|
||
|
[\fB\-x\fR|\fB\-\-no\-idata4\fR] [\fB\-c\fR|\fB\-\-no\-idata5\fR]
|
||
|
[\fB\-\-use\-nul\-prefixed\-import\-tables\fR]
|
||
|
[\fB\-I\fR|\fB\-\-identify\fR \fIlibrary-file-name\fR] [\fB\-\-identify\-strict\fR]
|
||
|
[\fB\-i\fR|\fB\-\-interwork\fR]
|
||
|
[\fB\-n\fR|\fB\-\-nodelete\fR] [\fB\-t\fR|\fB\-\-temp\-prefix\fR \fIprefix\fR]
|
||
|
[\fB\-v\fR|\fB\-\-verbose\fR]
|
||
|
[\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
|
||
|
[\fB\-\-no\-leading\-underscore\fR] [\fB\-\-leading\-underscore\fR]
|
||
|
[object\-file ...]
|
||
|
.SH "DESCRIPTION"
|
||
|
.IX Header "DESCRIPTION"
|
||
|
\&\fBdlltool\fR reads its inputs, which can come from the \fB\-d\fR and
|
||
|
\&\fB\-b\fR options as well as object files specified on the command
|
||
|
line. It then processes these inputs and if the \fB\-e\fR option has
|
||
|
been specified it creates a exports file. If the \fB\-l\fR option
|
||
|
has been specified it creates a library file and if the \fB\-z\fR option
|
||
|
has been specified it creates a def file. Any or all of the \fB\-e\fR,
|
||
|
\&\fB\-l\fR and \fB\-z\fR options can be present in one invocation of
|
||
|
dlltool.
|
||
|
.PP
|
||
4 years ago
|
When creating a \s-1DLL\s0, along with the source for the \s-1DLL\s0, it is necessary
|
||
4 years ago
|
to have three other files. \fBdlltool\fR can help with the creation of
|
||
|
these files.
|
||
|
.PP
|
||
|
The first file is a \fI.def\fR file which specifies which functions are
|
||
4 years ago
|
exported from the \s-1DLL\s0, which functions the \s-1DLL\s0 imports, and so on. This
|
||
4 years ago
|
is a text file and can be created by hand, or \fBdlltool\fR can be used
|
||
|
to create it using the \fB\-z\fR option. In this case \fBdlltool\fR
|
||
|
will scan the object files specified on its command line looking for
|
||
|
those functions which have been specially marked as being exported and
|
||
|
put entries for them in the \fI.def\fR file it creates.
|
||
|
.PP
|
||
4 years ago
|
In order to mark a function as being exported from a \s-1DLL\s0, it needs to
|
||
4 years ago
|
have an \fB\-export:<name_of_function>\fR entry in the \fB.drectve\fR
|
||
|
section of the object file. This can be done in C by using the
|
||
4 years ago
|
\&\fIasm()\fR operator:
|
||
4 years ago
|
.PP
|
||
|
.Vb 2
|
||
|
\& asm (".section .drectve");
|
||
|
\& asm (".ascii \e"\-export:my_func\e"");
|
||
|
\&
|
||
|
\& int my_func (void) { ... }
|
||
|
.Ve
|
||
|
.PP
|
||
|
The second file needed for \s-1DLL\s0 creation is an exports file. This file
|
||
|
is linked with the object files that make up the body of the \s-1DLL\s0 and it
|
||
|
handles the interface between the \s-1DLL\s0 and the outside world. This is a
|
||
|
binary file and it can be created by giving the \fB\-e\fR option to
|
||
|
\&\fBdlltool\fR when it is creating or reading in a \fI.def\fR file.
|
||
|
.PP
|
||
|
The third file needed for \s-1DLL\s0 creation is the library file that programs
|
||
|
will link with in order to access the functions in the \s-1DLL\s0 (an `import
|
||
|
library'). This file can be created by giving the \fB\-l\fR option to
|
||
|
dlltool when it is creating or reading in a \fI.def\fR file.
|
||
|
.PP
|
||
|
If the \fB\-y\fR 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
|
||
4 years ago
|
linked to the static delayimp library containing _\|\fI_delayLoadHelper2()\fR,
|
||
4 years ago
|
which in turn will import LoadLibraryA and GetProcAddress from kernel32.
|
||
|
.PP
|
||
|
\&\fBdlltool\fR builds the library file by hand, but it builds the
|
||
|
exports file by creating temporary files containing assembler statements
|
||
|
and then assembling these. The \fB\-S\fR command-line option can be
|
||
|
used to specify the path to the assembler that dlltool will use,
|
||
|
and the \fB\-f\fR option can be used to pass specific flags to that
|
||
|
assembler. The \fB\-n\fR can be used to prevent dlltool from deleting
|
||
|
these temporary assembler files when it is done, and if \fB\-n\fR is
|
||
|
specified twice then this will prevent dlltool from deleting the
|
||
|
temporary object files it used to build the library.
|
||
|
.PP
|
||
|
Here is an example of creating a \s-1DLL\s0 from a source file \fBdll.c\fR and
|
||
|
also creating a program (from an object file called \fBprogram.o\fR)
|
||
|
that uses that \s-1DLL:\s0
|
||
|
.PP
|
||
|
.Vb 4
|
||
|
\& gcc \-c dll.c
|
||
|
\& dlltool \-e exports.o \-l dll.lib dll.o
|
||
|
\& gcc dll.o exports.o \-o dll.dll
|
||
|
\& gcc program.o dll.lib \-o program
|
||
|
.Ve
|
||
|
.PP
|
||
|
\&\fBdlltool\fR may also be used to query an existing import library
|
||
|
to determine the name of the \s-1DLL\s0 to which it is associated. See the
|
||
|
description of the \fB\-I\fR or \fB\-\-identify\fR option.
|
||
|
.SH "OPTIONS"
|
||
|
.IX Header "OPTIONS"
|
||
|
The command-line options have the following meanings:
|
||
|
.IP "\fB\-d\fR \fIfilename\fR" 4
|
||
|
.IX Item "-d filename"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-input\-def\fR \fIfilename\fR" 4
|
||
|
.IX Item "--input-def filename"
|
||
|
.PD
|
||
|
Specifies the name of a \fI.def\fR file to be read in and processed.
|
||
|
.IP "\fB\-b\fR \fIfilename\fR" 4
|
||
|
.IX Item "-b filename"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-base\-file\fR \fIfilename\fR" 4
|
||
|
.IX Item "--base-file filename"
|
||
|
.PD
|
||
|
Specifies the name of a base file to be read in and processed. The
|
||
|
contents of this file will be added to the relocation section in the
|
||
|
exports file generated by dlltool.
|
||
|
.IP "\fB\-e\fR \fIfilename\fR" 4
|
||
|
.IX Item "-e filename"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-output\-exp\fR \fIfilename\fR" 4
|
||
|
.IX Item "--output-exp filename"
|
||
|
.PD
|
||
|
Specifies the name of the export file to be created by dlltool.
|
||
|
.IP "\fB\-z\fR \fIfilename\fR" 4
|
||
|
.IX Item "-z filename"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-output\-def\fR \fIfilename\fR" 4
|
||
|
.IX Item "--output-def filename"
|
||
|
.PD
|
||
|
Specifies the name of the \fI.def\fR file to be created by dlltool.
|
||
|
.IP "\fB\-l\fR \fIfilename\fR" 4
|
||
|
.IX Item "-l filename"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-output\-lib\fR \fIfilename\fR" 4
|
||
|
.IX Item "--output-lib filename"
|
||
|
.PD
|
||
|
Specifies the name of the library file to be created by dlltool.
|
||
|
.IP "\fB\-y\fR \fIfilename\fR" 4
|
||
|
.IX Item "-y filename"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-output\-delaylib\fR \fIfilename\fR" 4
|
||
|
.IX Item "--output-delaylib filename"
|
||
|
.PD
|
||
|
Specifies the name of the delay-import library file to be created by dlltool.
|
||
|
.IP "\fB\-\-export\-all\-symbols\fR" 4
|
||
|
.IX 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
|
||
|
are not exported by default; see the \fB\-\-no\-default\-excludes\fR
|
||
|
option. You may add to the list of symbols to not export by using the
|
||
|
\&\fB\-\-exclude\-symbols\fR option.
|
||
|
.IP "\fB\-\-no\-export\-all\-symbols\fR" 4
|
||
|
.IX Item "--no-export-all-symbols"
|
||
|
Only export symbols explicitly listed in an input \fI.def\fR file or in
|
||
|
\&\fB.drectve\fR sections in the input object files. This is the default
|
||
|
behaviour. The \fB.drectve\fR sections are created by \fBdllexport\fR
|
||
|
attributes in the source code.
|
||
|
.IP "\fB\-\-exclude\-symbols\fR \fIlist\fR" 4
|
||
|
.IX Item "--exclude-symbols list"
|
||
|
Do not export the symbols in \fIlist\fR. This is a list of symbol names
|
||
|
separated by comma or colon characters. The symbol names should not
|
||
|
contain a leading underscore. This is only meaningful when
|
||
|
\&\fB\-\-export\-all\-symbols\fR is used.
|
||
|
.IP "\fB\-\-no\-default\-excludes\fR" 4
|
||
|
.IX Item "--no-default-excludes"
|
||
|
When \fB\-\-export\-all\-symbols\fR is used, it will by default avoid
|
||
|
exporting certain special symbols. The current list of symbols to avoid
|
||
|
exporting is \fBDllMain@12\fR, \fBDllEntryPoint@0\fR,
|
||
|
\&\fBimpure_ptr\fR. You may use the \fB\-\-no\-default\-excludes\fR option
|
||
|
to go ahead and export these special symbols. This is only meaningful
|
||
|
when \fB\-\-export\-all\-symbols\fR is used.
|
||
|
.IP "\fB\-S\fR \fIpath\fR" 4
|
||
|
.IX Item "-S path"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-as\fR \fIpath\fR" 4
|
||
|
.IX Item "--as path"
|
||
|
.PD
|
||
|
Specifies the path, including the filename, of the assembler to be used
|
||
|
to create the exports file.
|
||
|
.IP "\fB\-f\fR \fIoptions\fR" 4
|
||
|
.IX Item "-f options"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-as\-flags\fR \fIoptions\fR" 4
|
||
|
.IX Item "--as-flags options"
|
||
|
.PD
|
||
|
Specifies any specific command-line options to be passed to the
|
||
|
assembler when building the exports file. This option will work even if
|
||
|
the \fB\-S\fR option is not used. This option only takes one argument,
|
||
|
and if it occurs more than once on the command line, then later
|
||
|
occurrences will override earlier occurrences. So if it is necessary to
|
||
|
pass multiple options to the assembler they should be enclosed in
|
||
|
double quotes.
|
||
|
.IP "\fB\-D\fR \fIname\fR" 4
|
||
|
.IX Item "-D name"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-dll\-name\fR \fIname\fR" 4
|
||
|
.IX Item "--dll-name name"
|
||
|
.PD
|
||
|
Specifies the name to be stored in the \fI.def\fR file as the name of
|
||
|
the \s-1DLL\s0 when the \fB\-e\fR option is used. If this option is not
|
||
|
present, then the filename given to the \fB\-e\fR option will be
|
||
4 years ago
|
used as the name of the \s-1DLL\s0.
|
||
4 years ago
|
.IP "\fB\-m\fR \fImachine\fR" 4
|
||
|
.IX Item "-m machine"
|
||
|
.PD 0
|
||
|
.IP "\fB\-machine\fR \fImachine\fR" 4
|
||
|
.IX Item "-machine machine"
|
||
|
.PD
|
||
|
Specifies the type of machine for which the library file should be
|
||
|
built. \fBdlltool\fR has a built in default type, depending upon how
|
||
|
it was created, but this option can be used to override that. This is
|
||
|
normally only useful when creating DLLs for an \s-1ARM\s0 processor, when the
|
||
|
contents of the \s-1DLL\s0 are actually encode using Thumb instructions.
|
||
|
.IP "\fB\-a\fR" 4
|
||
|
.IX Item "-a"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-add\-indirect\fR" 4
|
||
|
.IX Item "--add-indirect"
|
||
|
.PD
|
||
|
Specifies that when \fBdlltool\fR is creating the exports file it
|
||
|
should add a section which allows the exported functions to be
|
||
|
referenced without using the import library. Whatever the hell that
|
||
|
means!
|
||
|
.IP "\fB\-U\fR" 4
|
||
|
.IX Item "-U"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-add\-underscore\fR" 4
|
||
|
.IX Item "--add-underscore"
|
||
|
.PD
|
||
|
Specifies that when \fBdlltool\fR is creating the exports file it
|
||
|
should prepend an underscore to the names of \fIall\fR exported symbols.
|
||
|
.IP "\fB\-\-no\-leading\-underscore\fR" 4
|
||
|
.IX Item "--no-leading-underscore"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-leading\-underscore\fR" 4
|
||
|
.IX Item "--leading-underscore"
|
||
|
.PD
|
||
|
Specifies whether standard symbol should be forced to be prefixed, or
|
||
|
not.
|
||
|
.IP "\fB\-\-add\-stdcall\-underscore\fR" 4
|
||
|
.IX Item "--add-stdcall-underscore"
|
||
|
Specifies that when \fBdlltool\fR is creating the exports file it
|
||
|
should prepend an underscore to the names of exported \fIstdcall\fR
|
||
|
functions. Variable names and non-stdcall function names are not modified.
|
||
|
This option is useful when creating GNU-compatible import libs for third
|
||
|
party DLLs that were built with MS-Windows tools.
|
||
|
.IP "\fB\-k\fR" 4
|
||
|
.IX Item "-k"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-kill\-at\fR" 4
|
||
|
.IX Item "--kill-at"
|
||
|
.PD
|
||
|
Specifies that \fB@<number>\fR suffixes should be omitted from the names
|
||
4 years ago
|
of stdcall functions that will be imported from the \s-1DLL\s0. This is
|
||
4 years ago
|
useful when creating an import library for a \s-1DLL\s0 which exports stdcall
|
||
|
functions but without the usual \fB@<number>\fR symbol name suffix.
|
||
|
.Sp
|
||
|
This does not change the naming of symbols provided by the import library
|
||
|
to programs linked against it, but only the entries in the import table
|
||
|
(ie the .idata section).
|
||
|
.IP "\fB\-A\fR" 4
|
||
|
.IX Item "-A"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-add\-stdcall\-alias\fR" 4
|
||
|
.IX Item "--add-stdcall-alias"
|
||
|
.PD
|
||
|
Specifies that when \fBdlltool\fR is creating the exports file it
|
||
|
should add aliases for stdcall symbols without \fB@ <number>\fR
|
||
|
in addition to the symbols with \fB@ <number>\fR.
|
||
|
.IP "\fB\-p\fR" 4
|
||
|
.IX Item "-p"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-ext\-prefix\-alias\fR \fIprefix\fR" 4
|
||
|
.IX Item "--ext-prefix-alias prefix"
|
||
|
.PD
|
||
|
Causes \fBdlltool\fR to create external aliases for all \s-1DLL\s0
|
||
|
imports with the specified prefix. The aliases are created for both
|
||
|
external and import symbols with no leading underscore.
|
||
|
.IP "\fB\-x\fR" 4
|
||
|
.IX Item "-x"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-no\-idata4\fR" 4
|
||
|
.IX Item "--no-idata4"
|
||
|
.PD
|
||
|
Specifies that when \fBdlltool\fR is creating the exports and library
|
||
|
files it should omit the \f(CW\*(C`.idata4\*(C'\fR section. This is for compatibility
|
||
|
with certain operating systems.
|
||
|
.IP "\fB\-\-use\-nul\-prefixed\-import\-tables\fR" 4
|
||
|
.IX Item "--use-nul-prefixed-import-tables"
|
||
|
Specifies that when \fBdlltool\fR is creating the exports and library
|
||
|
files it should prefix the \f(CW\*(C`.idata4\*(C'\fR and \f(CW\*(C`.idata5\*(C'\fR by zero an
|
||
|
element. This emulates old gnu import library generation of
|
||
|
\&\f(CW\*(C`dlltool\*(C'\fR. By default this option is turned off.
|
||
|
.IP "\fB\-c\fR" 4
|
||
|
.IX Item "-c"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-no\-idata5\fR" 4
|
||
|
.IX Item "--no-idata5"
|
||
|
.PD
|
||
|
Specifies that when \fBdlltool\fR is creating the exports and library
|
||
|
files it should omit the \f(CW\*(C`.idata5\*(C'\fR section. This is for compatibility
|
||
|
with certain operating systems.
|
||
|
.IP "\fB\-I\fR \fIfilename\fR" 4
|
||
|
.IX Item "-I filename"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-identify\fR \fIfilename\fR" 4
|
||
|
.IX Item "--identify filename"
|
||
|
.PD
|
||
|
Specifies that \fBdlltool\fR should inspect the import library
|
||
|
indicated by \fIfilename\fR and report, on \f(CW\*(C`stdout\*(C'\fR, the name(s)
|
||
|
of the associated \s-1DLL\s0(s). This can be performed in addition to any
|
||
|
other operations indicated by the other options and arguments.
|
||
|
\&\fBdlltool\fR fails if the import library does not exist or is not
|
||
|
actually an import library. See also \fB\-\-identify\-strict\fR.
|
||
|
.IP "\fB\-\-identify\-strict\fR" 4
|
||
|
.IX Item "--identify-strict"
|
||
|
Modifies the behavior of the \fB\-\-identify\fR option, such
|
||
|
that an error is reported if \fIfilename\fR is associated with
|
||
4 years ago
|
more than one \s-1DLL\s0.
|
||
4 years ago
|
.IP "\fB\-i\fR" 4
|
||
|
.IX Item "-i"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-interwork\fR" 4
|
||
|
.IX Item "--interwork"
|
||
|
.PD
|
||
|
Specifies that \fBdlltool\fR should mark the objects in the library
|
||
|
file and exports file that it produces as supporting interworking
|
||
|
between \s-1ARM\s0 and Thumb code.
|
||
|
.IP "\fB\-n\fR" 4
|
||
|
.IX Item "-n"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-nodelete\fR" 4
|
||
|
.IX Item "--nodelete"
|
||
|
.PD
|
||
|
Makes \fBdlltool\fR preserve the temporary assembler files it used to
|
||
|
create the exports file. If this option is repeated then dlltool will
|
||
|
also preserve the temporary object files it uses to create the library
|
||
|
file.
|
||
|
.IP "\fB\-t\fR \fIprefix\fR" 4
|
||
|
.IX Item "-t prefix"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-temp\-prefix\fR \fIprefix\fR" 4
|
||
|
.IX Item "--temp-prefix prefix"
|
||
|
.PD
|
||
|
Makes \fBdlltool\fR use \fIprefix\fR when constructing the names of
|
||
|
temporary assembler and object files. By default, the temp file prefix
|
||
|
is generated from the pid.
|
||
|
.IP "\fB\-v\fR" 4
|
||
|
.IX Item "-v"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-verbose\fR" 4
|
||
|
.IX Item "--verbose"
|
||
|
.PD
|
||
|
Make dlltool describe what it is doing.
|
||
|
.IP "\fB\-h\fR" 4
|
||
|
.IX Item "-h"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-help\fR" 4
|
||
|
.IX Item "--help"
|
||
|
.PD
|
||
|
Displays a list of command-line options and then exits.
|
||
|
.IP "\fB\-V\fR" 4
|
||
|
.IX Item "-V"
|
||
|
.PD 0
|
||
|
.IP "\fB\-\-version\fR" 4
|
||
|
.IX Item "--version"
|
||
|
.PD
|
||
|
Displays dlltool's version number and then exits.
|
||
|
.IP "\fB@\fR\fIfile\fR" 4
|
||
|
.IX Item "@file"
|
||
|
Read command-line options from \fIfile\fR. The options read are
|
||
|
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||
|
does not exist, or cannot be read, then the option will be treated
|
||
|
literally, and not removed.
|
||
|
.Sp
|
||
|
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||
|
character may be included in an option by surrounding the entire
|
||
|
option in either single or double quotes. Any character (including a
|
||
|
backslash) may be included by prefixing the character to be included
|
||
|
with a backslash. The \fIfile\fR may itself contain additional
|
||
|
@\fIfile\fR options; any such options will be processed recursively.
|
||
|
.SH "SEE ALSO"
|
||
|
.IX Header "SEE ALSO"
|
||
|
The Info pages for \fIbinutils\fR.
|
||
|
.SH "COPYRIGHT"
|
||
|
.IX Header "COPYRIGHT"
|
||
4 years ago
|
Copyright (c) 1991\-2019 Free Software Foundation, Inc.
|
||
4 years ago
|
.PP
|
||
|
Permission is granted to copy, distribute and/or modify this document
|
||
|
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||
|
or any later version published by the Free Software Foundation;
|
||
|
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||
|
Back-Cover Texts. A copy of the license is included in the
|
||
|
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|