D issues are now
tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Summary: |
map file with spaces in file name passed without quotes to linker |
Product: |
D
|
Reporter: |
Rainer Schuetze <r.sagitario> |
Component: |
dmd | Assignee: |
No Owner <nobody> |
Status: |
RESOLVED
FIXED
|
Severity: |
normal
|
CC: |
bugzilla
|
Priority: |
P2
|
Keywords: |
link-failure, patch |
Version: |
D2 |
Hardware: |
Other |
OS: |
Windows |
Specifying a map file to dmd that contains spaces like this
dmd test.d -map "a b.map" -v
produces
binary c:\l\dmd-2.048\windows\bin\dmd.exe
version v2.048
[...]
c:\l\dmd-2.048\windows\bin\link.exe test,,a b.map,user32+kernel32/m/noi;
OPTLINK (R) for Win32 Release 8.00.2
Copyright (C) Digital Mars 1989-2009 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
user32.def(0) : Error 2: File Not Found user32.def
--- errorlevel 1
showing that the map file name is not quoted.
Here's the patch:
Index: link.c
===================================================================
--- link.c (revision 701)
+++ link.c (working copy)
@@ -116,7 +116,7 @@
cmdbuf.writeByte(',');
if (global.params.mapfile)
- cmdbuf.writestring(global.params.mapfile);
+ writeFilename(&cmdbuf, global.params.mapfile);
else if (global.params.run)
cmdbuf.writestring("nul");
cmdbuf.writeByte(',');