digitalmars.D.bugs - [Issue 5215] New: Crash with empty program
- d-bugmail puremagic.com (19/19) Nov 13 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5215
- d-bugmail puremagic.com (14/17) Nov 13 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5215
- d-bugmail puremagic.com (8/12) Nov 13 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5215
- d-bugmail puremagic.com (13/13) Jan 20 2012 http://d.puremagic.com/issues/show_bug.cgi?id=5215
- d-bugmail puremagic.com (16/16) Jan 20 2012 http://d.puremagic.com/issues/show_bug.cgi?id=5215
- d-bugmail puremagic.com (20/20) Jan 20 2012 http://d.puremagic.com/issues/show_bug.cgi?id=5215
- d-bugmail puremagic.com (8/8) Jan 20 2012 http://d.puremagic.com/issues/show_bug.cgi?id=5215
http://d.puremagic.com/issues/show_bug.cgi?id=5215
Summary: Crash with empty program
Product: D
Version: D2
Platform: Other
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: Optlink
AssignedTo: nobody puremagic.com
ReportedBy: bearophile_hugs eml.cc
This simple wrong D2 program generates expected linker errors and then an
unexpected crash on Windows:
void main();
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 13 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5215
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |clugdbug yahoo.com.au
This simple wrong D2 program generates expected linker errors and then an
unexpected crash on Windows:
void main();
What do you mean, 'unexpected'? It complains that there's no main(). Passing an
empty file does exactly the same thing.
(The annoying thing is that it makes an exe anyway, even though the exe is
corrupt).
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 13 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5215What do you mean, 'unexpected'? It complains that there's no main(). Passing an empty file does exactly the same thing. (The annoying thing is that it makes an exe anyway, even though the exe is corrupt).You are right, sorry. The crash is not caused by the compiler/linker, but by the corrupt exe. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 13 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5215
Walter Bright <bugzilla digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |bugzilla digitalmars.com
Resolution| |WONTFIX
02:12:34 PST ---
The linker is supposed to create an exe file, even if there are errors. This is
handy for some special purposes.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 20 2012
http://d.puremagic.com/issues/show_bug.cgi?id=5215
Brad Roberts <braddr puremagic.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |braddr puremagic.com
Resolution|WONTFIX |
---
What circumstances? I don't have a lot of experience with windows, but
binutils ld doesn't leave broken turds when linking fails like that. I can see
having a linker option to force it to leave the output alone on error, but not
having that as the default behavior. Would you treat dmd leaving a .obj file
around if there are syntax errors in the .d being built?
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 20 2012
http://d.puremagic.com/issues/show_bug.cgi?id=5215
Andrej Mitrovic <andrej.mitrovich gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |andrej.mitrovich gmail.com
10:31:54 PST ---
Optlink has a /DELEXECUTABLE flag for deleting the exe if there are linker
errors, but it doesn't work (I assume because optlink creates warnings instead
of errors for OPs code).
Additionally optlink creates executables even if you don't pass anything to it,
e.g.:
$ link.exe
creates .exe
The linker gives you warnings and creates a `.exe` file. Pretty stupid behavior
if you ask me. Every modern console app would display a list of arguments you
can pass to it, or a sane warning instead of "OPTLINK : Warning 134: No Start
Address" when you didn't pass a single file to it.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 20 2012
http://d.puremagic.com/issues/show_bug.cgi?id=5215 12:47:06 PST --- The special purposes are when parts of your program are missing, but you want to link and run the rest of it. I'm not sure why /delexecutable is not working, though. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 20 2012









d-bugmail puremagic.com 