diff options
Diffstat (limited to 'contrib/binutils/binutils/doc/dlltool.1')
-rw-r--r-- | contrib/binutils/binutils/doc/dlltool.1 | 91 |
1 files changed, 61 insertions, 30 deletions
diff --git a/contrib/binutils/binutils/doc/dlltool.1 b/contrib/binutils/binutils/doc/dlltool.1 index c1e4642..44c5a4e 100644 --- a/contrib/binutils/binutils/doc/dlltool.1 +++ b/contrib/binutils/binutils/doc/dlltool.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== @@ -25,11 +25,11 @@ .. .\" 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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr +.\" 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- @@ -128,7 +128,7 @@ .\" ======================================================================== .\" .IX Title "DLLTOOL 1" -.TH DLLTOOL 1 "2004-04-09" "binutils-2.14.91" "GNU Development Tools" +.TH DLLTOOL 1 "2006-06-23" "binutils-2.17" "GNU Development Tools" .SH "NAME" dlltool \- Create files needed to build and use DLLs. .SH "SYNOPSIS" @@ -143,8 +143,10 @@ dlltool [\fB\-d\fR|\fB\-\-input\-def\fR \fIdef-file-name\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\-k\fR|\fB\-\-kill\-at\fR] - [\fB\-A\fR|\fB\-\-add\-stdcall\-alias\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\-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] @@ -165,13 +167,13 @@ When creating a \s-1DLL\s0, along with the source for the \s-1DLL\s0, it is nece to have three other files. \fBdlltool\fR can help with the creation of these files. .PP -The first file is a \fB.def\fR file which specifies which functions are +The first file is a \fI.def\fR file which specifies which functions are exported from the \s-1DLL\s0, which functions the \s-1DLL\s0 imports, and so on. This 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 .def file it creates. +put entries for them in the \fI.def\fR file it creates. .PP In order to mark a function as being exported from a \s-1DLL\s0, it needs to have an \fB\-export:<name_of_function>\fR entry in the \fB.drectve\fR @@ -180,7 +182,7 @@ section of the object file. This can be done in C by using the .PP .Vb 2 \& asm (".section .drectve"); -\& asm (".ascii \e"-export:my_func\e""); +\& asm (".ascii \e"\-export:my_func\e""); .Ve .PP .Vb 1 @@ -191,12 +193,12 @@ 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 .def file. +\&\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. This file can be created by giving the \fB\-l\fR option to dlltool when it -is creating or reading in a .def file. +is creating or reading in a \fI.def\fR file. .PP \&\fBdlltool\fR builds the library file by hand, but it builds the exports file by creating temporary files containing assembler statements @@ -213,10 +215,10 @@ 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 +\& 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 .SH "OPTIONS" .IX Header "OPTIONS" @@ -227,7 +229,7 @@ The command line options have the following meanings: .IP "\fB\-\-input\-def\fR \fIfilename\fR" 4 .IX Item "--input-def filename" .PD -Specifies the name of a .def file to be read in and processed. +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 @@ -250,7 +252,7 @@ Specifies the name of the export file to be created by dlltool. .IP "\fB\-\-output\-def\fR \fIfilename\fR" 4 .IX Item "--output-def filename" .PD -Specifies the name of the .def file to be created by dlltool. +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 @@ -267,7 +269,7 @@ 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 .def file or in +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. @@ -312,10 +314,10 @@ double quotes. .IP "\fB\-\-dll\-name\fR \fIname\fR" 4 .IX Item "--dll-name name" .PD -Specifies the name to be stored in the .def 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 used as the name of -the \s-1DLL\s0. +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 +used as the name of the \s-1DLL\s0. .IP "\fB\-m\fR \fImachine\fR" 4 .IX Item "-m machine" .PD 0 @@ -344,7 +346,14 @@ means! .IX Item "--add-underscore" .PD Specifies that when \fBdlltool\fR is creating the exports file it -should prepend an underscore to the names of the exported functions. +should prepend an underscore to the names of \fIall\fR exported symbols. +.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 @@ -364,6 +373,15 @@ function in a \s-1DLL\s0, other than by name. 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 @@ -431,17 +449,30 @@ Displays a list of command line options and then exits. .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 entries for \fIbinutils\fR. +The Info pages for \fIbinutils\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, -2001, 2002, 2003 Free Software Foundation, Inc. +Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. .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.1 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 ``\s-1GNU\s0 Free Documentation License''. +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". |