summaryrefslogtreecommitdiff
path: root/ld/deffilep.y
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
commit9eb140eae82e251c6ab9154f4d478153fb8268fb (patch)
tree04cbfe889b1d13bcf98c4f3dfebcc92c17a927bc /ld/deffilep.y
parenta98f28de7196d262ded11ce6679952bdb5c0b10e (diff)
downloadbinutils-redhat-9eb140eae82e251c6ab9154f4d478153fb8268fb.tar.gz
* 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/deffilep.y')
-rw-r--r--ld/deffilep.y11
1 files changed, 10 insertions, 1 deletions
diff --git a/ld/deffilep.y b/ld/deffilep.y
index d349537ee6..78da27a1d9 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;
}