[M3devel] AMD64_NT failing on null def to RTAllocator__GetTracedObj
Jay K
jay.krell at cornell.edu
Tue Oct 1 15:44:04 CEST 2013
It works now. I didn't really change anything.
I'm guessing it was the ScanTypes thing in m3front/src/misc/CG.m3.
I would encourage anyone at this time to try AMD64_NT.
But I haven't uploaded a distribution yet, sorry.
Cross building is required a short time longer. I mildly encourage that.
It could use testing/feedback from other than me.
There is a boot archive: https://modula3.elegosoft.com/cm3/uploaded-archives/cm3-boot-AMD64_NT-d5.9.0-20130921.zip
- Jay
From: jay.krell at cornell.edu
To: m3devel at elegosoft.com
Date: Sun, 22 Sep 2013 09:53:54 +0000
Subject: Re: [M3devel] AMD64_NT failing on null def to RTAllocator__GetTracedObj
hm. indeed.
darwin @M3tracelinker shows a few PathnamePosix but nt never shows PathnameWin32.
- Jay
From: jay.krell at cornell.edu
To: m3devel at elegosoft.com
Date: Sun, 22 Sep 2013 09:10:02 +0000
Subject: [M3devel] AMD64_NT failing on null def to RTAllocator__GetTracedObj
darn, AMD4_NT isn't working any longer.
It gets here:
0:000> k
Child-SP RetAddr Call Site
00000000`002bee90 00000001`3fac0f1f cm3!RTAllocator__GetTracedObj+0x91 [c:\dev2\src\runtime\common\rtallocator.m3 @ 221]
00000000`002bef10 00000001`3fa3fe96 cm3!RTHooks__AllocateTracedObj+0x2f [c:\dev2\src\runtime\common\rtallocator.m3 @ 123]
00000000`002bef60 00000001`3fa3f774 cm3!Pathname__Decompose+0x86 [c:\dev2\src\os\win32\pathnamewin32.m3 @ 40]
00000000`002beff0 00000001`3fa3f55f cm3!PathRepr__Root+0xb4 [c:\dev2\src\pathreprcommon.m3 @ 38]
00000000`002bf1c0 00000001`3fae37fc cm3!PathReprCommon_M3+0xcf [c:\dev2\src\pathreprcommon.m3 @ 46]
00000000`002bf380 00000001`3fae3653 cm3!RTLinker__RunMainBody+0x46c [c:\dev2\src\runtime\common\rtlinker.m3 @ 409]
0:000> dv /V
00000000`002bef10 @rsp+0x0080 def_L_96 = 0x00000000`00000000
...
0:000> u . -10
cm3!RTAllocator__GetTracedObj+0x81 [c:\dev2\src\runtime\common\rtallocator.m3 @217]:
...
00000001`3fac23b9 488b842480000000 mov rax,qword ptr [rsp+80h]
00000001`3fac23c1 488b08 mov rcx,qword ptr [rax]
0:000> u . l1
cm3!RTAllocator__GetTracedObj+0x91 [c:\dev2\src\runtime\common\rtallocator.m3 @
221]:
00000001`3fac23c1 488b08 mov rcx,qword ptr [rax]
0:000> r rax
rax=0000000000000000
def is NULL.
It comes from here:
Pathname__Decompose:
...
RTHooks__AllocateTracedObj(
(((ADDRESS)(*((ADDRESS*)(INT64_(192)+((ADDRESS)(&M_PathnameWin32_L_33))))))));
M_PathnameWin32_L_33 + 192 is NULL.
"_L_33" is an annoying uniquifier from the C backend, sprinkled on far more than needed.
global data allocation for M_PathnameWin32
...
192 16 8 typecell ptr
Is that supposed to be statically initialized or filled in by RTLinker?
It noticably is not in the constants, but the writables.
Help?
Debug RTLinker?
- Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20131001/dfcb9fe9/attachment-0001.html>
More information about the M3devel
mailing list