summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2006-02-01 21:28:29 +0000
committerDanny Smith <dannysmith@users.sourceforge.net>2006-02-01 21:28:29 +0000
commit6b31ad165d5b94d0a207bc2eab1855599a81033b (patch)
tree9de036d784734513fec2056aeadb908486761f01 /ld
parentf524510a162cee710564bda63698c2e6b6307554 (diff)
downloadbinutils-6b31ad165d5b94d0a207bc2eab1855599a81033b.tar.gz
binutils-6b31ad165d5b94d0a207bc2eab1855599a81033b.tar.bz2
binutils-6b31ad165d5b94d0a207bc2eab1855599a81033b.zip
* deffilep.y (def_image_name): If the image name does not have
a suffix, append the default. * ld.texinfo: Document NAME, LIBRARY usage in PE-COFF .def files.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/deffilep.y11
-rw-r--r--ld/ld.texinfo16
3 files changed, 32 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index f06eade6d5f..81a0e398158 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-01 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * deffilep.y (def_image_name): If the image name does not have
+ a suffix, append the default.
+ * ld.texinfo: Document NAME, LIBRARY usage in PE-COFF .def files.
+
2006-01-31 Danny Smith dannysmith@users.sourceforge.net
* NEWS: Mention support for forward exports in PE-COFF dll's.
diff --git a/ld/deffilep.y b/ld/deffilep.y
index d349537ee6f..78da27a1d97 100644
--- a/ld/deffilep.y
+++ b/ld/deffilep.y
@@ -654,7 +654,16 @@ def_image_name (const char *name, int base, int is_dll)
def_filename, linenumber, is_dll ? "LIBRARY" : "NAME", name);
if (def->name)
free (def->name);
- def->name = xstrdup (image_name);
+ /* Append the default suffix, if none specified. */
+ if (strchr (image_name, '.') == 0)
+ {
+ const char * suffix = is_dll ? ".dll" : ".exe";
+
+ def->name = xmalloc (strlen (image_name) + strlen (suffix) + 1);
+ sprintf (def->name, "%s%s", image_name, suffix);
+ }
+ else
+ def->name = xstrdup (image_name);
def->base_address = base;
def->is_dll = is_dll;
}
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 4f809f3ec53..d455727f5cc 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -5598,6 +5598,22 @@ by "forwarding" to another module and treating it as an alias for
@code{afoo} exported from the DLL @samp{abc.dll}. The final symbol
@code{var1} is declared to be a data object.
+The optional @code{LIBRARY <name>} command indicates the @emph{internal}
+name of the output DLL. If @samp{<name>} does not include a suffix,
+the default library suffix, @samp{.DLL} is appended.
+
+When the .DEF file is used to build an application. rather than a
+library, the @code{NAME <name>} command shoud be used instead of
+@code{LIBRARY}. If @samp{<name>} does not include a suffix, the default
+executable suffix, @samp{.EXE} is appended.
+
+With either @code{LIBRARY <name>} or @code{NAME <name>} the optional
+specification @code{BASE = <number>} may be used to specify a
+non-default base address for the image.
+
+If neither @code{LIBRARY <name>} nor @code{NAME <name>} is specified,
+the internal name is the same as the filename specified on the command line.
+
The complete specification of an export symbol is:
@example