Why is 64-bit dmd not built as part of the Windows release?
Dlang User
dlang.user at gmx.com
Wed May 23 20:17:04 UTC 2018
On 5/23/2018 12:42 PM, Vladimir Panteleev wrote:
> On Wednesday, 23 May 2018 at 17:35:28 UTC, Dlang User wrote:
>> I too am looking for 64-bit on Windows 10. Not just DMD but ideally
>> everything.
>>
>> When I try the command exactly as above, or a slightly modified
>> version (on a second run show after this run), I hit an error on my
>> machine:
>>
>> Internal error: dmd\backend\cod3.c 6830
>
> Hmm, that looks like a DMD bug/regression. I think that should have been
> caught by the auto-tester. In any case, try adding --model=64 to your
> command to also build a 64-bit Phobos, as that seems to be what you're
> after anyway. You could also try specifying a different (newer?) host
> DMD version with e.g. `-c build.components.dmd.bootstrap.ver=v2.075.0`.
>
Thanks for looking at this, I actually did try adding --model=64, in the
second run that I was referring to in my original post, but that
resulted in the same error.
Some additional things I realized when trying to use digger on my machine:
Digger is only failing when trying to use the
build.components.dmd.dmdModel=64 switch, so when trying to build 64 bit
DMD.
digger -c build.components.dmd.dmdModel=64 build --model=64 v2.080.0
The first time the error is this (so this is probably the real error):
FLunde Internal error: dmd\backend\cod3.c 5488
The second time, the error is (this is probably due to the previous
failed run):
Internal error: dmd\backend\cod3.c 6830
I tried adding bootstrap option for 32 bit, and that worked fine:
digger -c build.components.dmd.dmdModel=32 -c
build.components.dmd.bootstrap.ver=v2.075.0 build --model=32 v2.080.0
I tried adding bootstrap option for 64 bit:
digger -c build.components.dmd.dmdModel=64 -c
build.components.dmd.bootstrap.ver=v2.075.0 build --model=64 v2.080.0
Which didn't work (totally different error):
C:\DProj\digger\work\dl\dmd-2.075.0\dmd2/windows/bin\dmd.exe
-of..\generated\windows\release\64\dmd.exe -vtls
-J..\generated\windows\release\64 -J../res -L/STACK:8388608 -O -release
-inline -m64 -wi -version=MARS -L/delexe/la dmd/access.d
dmd/aggregate.d dmd/aliasthis.d dmd/apply.d dmd/argtypes.d dmd/arrayop.d
dmd/arraytypes.d dmd/astcodegen.d dmd/attrib.d dmd/builtin.d
dmd/canthrow.d dmd/cli.d dmd/clone.d dmd/compiler.d dmd/complex.d
dmd/cond.d dmd/constfold.d dmd/cppmangle.d dmd/cppmanglewin.d
dmd/ctfeexpr.d dmd/ctorflow.d dmd/dcast.d dmd/dclass.d
dmd/declaration.d dmd/delegatize.d dmd/denum.d dmd/dimport.d
dmd/dinifile.d dmd/dinterpret.d dmd/dmacro.d dmd/dmangle.d
dmd/dmodule.d dmd/doc.d dmd/dscope.d dmd/dstruct.d dmd/dsymbol.d
dmd/dsymbolsem.d dmd/lambdacomp.d dmd/dtemplate.d
dmd/dversion.d dmd/escape.d dmd/expression.d
dmd/expressionsem.d dmd/func.d dmd/hdrgen.d dmd/id.d dmd/imphint.d
dmd/impcnvtab.d dmd/init.d dmd/initsem.d dmd/inline.d dmd/inlinecost.d
dmd/intrange.d dmd/json.d dmd/lib.d dmd/link.d dmd/mars.d dmd/mtype.d
dmd/nogc.d dmd/nspace.d dmd/objc.d dmd/opover.d dmd/optimize.d
dmd/parse.d dmd/sapply.d dmd/sideeffect.d dmd/statement.d
dmd/staticassert.d dmd/target.d dmd/safe.d dmd/blockexit.d
dmd/permissivevisitor.d dmd/transitivevisitor.d dmd/parsetimevisitor.d
dmd/printast.d dmd/typesem.d dmd/traits.d dmd/utils.d dmd/visitor.d
dmd/libomf.d dmd/scanomf.d dmd/templateparamsem.d dmd/typinf.d
dmd/libmscoff.d dmd/scanmscoff.d dmd/statement_rewrite_walker.d
dmd/statementsem.d dmd/staticcond.d dmd/semantic2.d dmd/semantic3.d
dmd/irstate.d dmd/toctype.d dmd/glue.d dmd/gluelayer.d dmd/todt.d
dmd/tocsym.d dmd/toir.d dmd/dmsc.d dmd/tocvdebug.d dmd/s2ir.d
dmd/toobj.d dmd/e2ir.d dmd/objc_glue.d dmd/eh.d dmd/iasm.d
dmd\backend/bcomplex.d dmd\backend/cc.d dmd\backend/cdef.d
dmd\backend/cgcv.d dmd\backend/code.d dmd\backend/cv4.d dmd\backend/dt.d
dmd\backend/el.d dmd\backend/global.d dmd\backend/obj.d
dmd\backend/oper.d dmd\backend/outbuf.d dmd\backend/rtlsym.d
dmd\backend/code_x86.d dmd\backend/iasm.d dmd\backend/ty.d
dmd\backend/type.d dmd\backend/exh.d dmd\backend/mach.d
dmd\backend/md5.d dmd\backend/mscoff.d dmd\backend/dwarf.d
dmd\backend/dwarf2.d dmd\backend/xmm.d dmd\tk/dlist.d dmd\root/aav.d
dmd\root/array.d dmd\root/ctfloat.d dmd\root/file.d dmd\root/filename.d
dmd\root/man.d dmd\root/outbuffer.d dmd\root/port.d dmd\root/response.d
dmd\root/rmem.d dmd\root/rootobject.d dmd\root/speller.d
dmd\root/stringtable.d dmd\root/hash.d
..\generated\windows\release\64\newdelete.obj
..\generated\windows\release\64\backend.lib
..\generated\windows\release\64\lexer.lib
object.Error@(0): Access Violation
----------------
0x004CF5B7
0x004987C7
0x77B716B7 in RtlAllocateHeap
0x00441CCD
0x0064DE30
0x0044E40A
0x00405B42
--- errorlevel 1
--- errorlevel 1
--- errorlevel 1
digger: Saving to cache.
digger: Clearing temporary cache
object.Exception at C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\sys\d\manager.d(850):
Command ["make", "-f", "win64.mak", "MODEL=64",
"HOST_DC=C:\\DProj\\digger\\work\\dl\\dmd-2.075.0\\dmd2/windows/bin\\dmd.exe",
"DMODEL=-m64", "dmd"] failed with status 1
----------------
0x0040AEF7 in pure @safe void
std.exception.bailOut!(Exception).bailOut(immutable(char)[], uint,
const(char[])) at
C:\D\dmd2\windows\bin\..\..\src\phobos\std\exception.d(526)
0x0040AE9E in pure @safe bool
std.exception.enforce!().enforce!(bool).enforce(bool, lazy
const(char)[], immutable(char)[], uint) at
C:\D\dmd2\windows\bin\..\..\src\phobos\std\exception.d(437)
0x004E6641 in void
ae.sys.d.manager.DManager.Component.run(const(immutable(char)[])[],
const(immutable(char)[][immutable(char)[]]), immutable(char)[])
0x004E7A60 in void ae.sys.d.manager.DManager.DMD.performBuild() at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\sys\d\manager.d(1116)
0x004E4F81 in void ae.sys.d.manager.DManager.Component.needBuild() at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\sys\d\manager.d(516)
0x004E54C2 in void ae.sys.d.manager.DManager.Component.needInstalled()
at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\sys\d\manager.d(666)
0x004ECAE2 in void
ae.sys.d.manager.DManager.build(ae.sys.d.manager.DManager.SubmoduleState,
bool) at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\sys\d\manager.d(2094)
0x004AE7CD in void custom.runBuild(immutable(char)[],
ae.sys.d.manager.DManager.SubmoduleState) at
C:\Users\dlang.user\AppData\Local\dub\packages\digger-3.0.0-alpha-7\digger\custom.d(57)
0x004AFD20 in void custom.buildCustom(immutable(char)[]) at
C:\Users\dlang.user\AppData\Local\dub\packages\digger-3.0.0-alpha-7\digger\custom.d(271)
0x004B0020 in
_D6digger6Digger5buildFS2ae5utils6funopt__T10OptionImplVEQBhQBhQBe10OptionTypei0TbVAyaa12_686964DE52318C4D543263EB4945A7EE370BC1
at
C:\Users\dlang.user\AppData\Local\dub\packages\digger-3.0.0-alpha-7\digger\digger.d(69)
0x005298E6 in
_D2ae5utils6funopt__TQkS_D6digger6Digger5buildFSQBuQBuQBr__T10OptionImplVEQCuQCuQCr10OptionTypeiE1CE98D83FDBAF71356FA2F08DBB1929
at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\utils\funopt.d(304)
0x00528874 in int ae.utils.funopt.funoptDispatch!(digger.Digger,
ae.utils.funopt.FunOptConfig(null),
digger.digger().usageFun(immutable(char)[])).funoptDispatch(immutable(char)[][]).fun(immutable(char)[],
immutable(char)[][]) at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\utils\funopt.d(585)
0x00539E4C in
_D2ae5utils6funopt__TQkS_DQyQxQt__T14funoptDispatchTS6digger6DiggerVSQCpQCpQCm12FunOptConfigS1nS51AF7AA587E767457D346232F97407B4
at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\utils\funopt.d(304)
0x00528740 in int ae.utils.funopt.funoptDispatch!(digger.Digger,
ae.utils.funopt.FunOptConfig(null),
digger.digger().usageFun(immutable(char)[])).funoptDispatch(immutable(char)[][])
at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\utils\funopt.d(599)
0x004B0622 in int digger.digger() at
C:\Users\dlang.user\AppData\Local\dub\packages\digger-3.0.0-alpha-7\digger\digger.d(249)
0x004B0A40 in int digger.__mixin21.run(immutable(char)[][]) at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\utils\main.d(40)
0x004B0A52 in _Dmain at
C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\utils\main.d(69)
0x005AC003 in void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).runAll().__lambda1()
0x005ABF85 in void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).runAll()
0x005ABE20 in _d_run_main
0x004B12AC in main at
C:\Users\dlang.user\AppData\Local\dub\packages\digger-3.0.0-alpha-7\digger\bisect.d(7)
0x0060D101 in mainCRTStartup
0x778F8654 in BaseThreadInitThunk
0x77B94A77 in RtlGetAppContainerNamedObjectPath
0x77B94A47 in RtlGetAppContainerNamedObjectPath
More information about the Digitalmars-d
mailing list