-
Notifications
You must be signed in to change notification settings - Fork 17
Description
Issue.7960.attachement.1.repro.zip
Transferred from: https://issues.dlang.org/show_bug.cgi?id=7960
User @Ingrater reported (2012-Apr-21 02:31:52):
Created attachment 1098
repro caseThis crash might have multiple causes. I compile my project with:
$ dmd -g -unittest -debug -X -Xf"Debug\thBase.json" -IC:\Users\Benjamin\Documents\d-projects\druntime\import -IC:\Users\Benjamin\Documents\d-projects\phobos -version=NOGCSAFE -version=thBase_test -deps="Debug\thBase.dep" -of"Debug\thBase.exe_cv" -map "Debug\thBase.map" -L/NOMAP -defaultlib=phobosnogc -debuglib=phobosnogc gcstub.obj -v @Debug\thBase.build.rspDmd launches optlink with:
$ link.exe gcstub+"Debug\thBase","Debug\thBase.exe_cv","Debug\thBase.map",user32+kernel32/m/co/noi/NOMAP;Which causes optlink to crash with EIP=00000000
The first thing which might be a bug in dmd is, that the phobosnogc library is
missing in the link command which I specified both with defaultlib and
debuglib.If I manually specifiy the phobosnogc.lib in the build command dmd generates
the following link command:link.exe gcstub+"Debug\thBase","Debug\thBase.exe_cv","Debug\thBase.map","phobosnogc.lib"+user32+kernel32/m/co/noi/NOMAP;Which still causes optlink to crash with EIP=00000000.
If I however let dmd only compile and then manually link with:
link.exe "phobosnogc"+gcstub+"Debug\thBase","Debug\thBase.exe_cv","Debug\thBase.map",user32+kernel32/m/co/noi/NOMAP;Optlink links everything fine and the executable works just as it should.
So there seem to be 3 different issues here:
- dmd does not pass the library specified with debuglib defaultlib to optlink
- Optlink crashes with EIP=00000000
- The order in which you pass the library files to optlink changes optlink
behaviour.This issue exists with dmd 2.058 and optlink 8.00.12. See attached repro case.
User @Ingrater responded (2012-Apr-21 02:34:34):
I'm going to try adding a reduced source to reproduce the issue.
User @rainers responded (2013-Nov-23 02:35:25):
Maybe related: #11