<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>I can build a lot of std, at least up to m3ui.<BR>
<BR>However..nothing works.<BR>
<BR>Everything crashes.<BR>
<BR>In order to build std, I copied back the NT386 cm3 and mklib,<BR> though the config sets TARGET=NT386GNU and runs cm3cg.<BR> (i.e. I'm not just using the NT386 backend!)<BR>
<BR>The crash is what I mentioned the other day:<BR>
<BR>D:\>\cygwin\bin\gdb \dev2\cm3.2\m3-sys\cm3\NT386GNU\cm3.exe<BR>GNU gdb 6.5.50.20060706-cvs (cygwin-special)<BR>Copyright (C) 2006 Free Software Foundation, Inc.<BR>GDB is free software, covered by the GNU General Public License, and you are<BR>welcome to change it and/or distribute copies of it under certain conditions.<BR>Type "show copying" to see the conditions.<BR>There is absolutely no warranty for GDB. Type "show warranty" for details.<BR>This GDB was configured as "i686-pc-cygwin"...<BR>(gdb) run<BR>Starting program: D:/dev2/cm3.2/m3-sys/cm3/NT386GNU/cm3.exe<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/ntdll.dll<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/kernel32.dll<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/advapi32.dll<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/rpcrt4.dll<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/gdi32.dll<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/user32.dll<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/msvcrt.dll<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/wsock32.dll<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/ws2_32.dll<BR>Loaded symbols for /cygdrive/d/WINDOWS/system32/ws2help.dll<BR>
<BR>Program received signal SIGSEGV, Segmentation fault.<BR>0x00000000 in ?? ()<BR>(gdb) bt<BR>#0 0x00000000 in ?? ()<BR>#1 0x005de831 in RTLinker__FindModules (M3_DjPxE3_m=0x682340)<BR> at RTLinker.m3:182<BR>#2 0x005de5fb in RTLinker__AddUnitI (M3_DjPxE3_m=0x682340) at RTLinker.m3:111<BR>#3 0x005de6b0 in RTLinker__AddUnit (M3_DjPxE5_b=0x603fd0) at RTLinker.m3:122<BR>#4 0x005de34d in RTLinker__InitRuntime (M3_AcxOUs_p_argc=0,<BR> M3_AJWxb1_p_argv=0x3f2bf0, M3_AJWxb1_p_envp=0x3f24c0,<BR> M3_AJWxb1_p_instance=0x1) at RTLinker.m3:42<BR>#5 0x00401315 in main (argc=1, argv=0x3f24c0, envp=0x3f2bf0) at _m3main.mc:3<BR>(gdb) q<BR>The program is running. Exit anyway? (y or n) y<BR>
D:\><BR>
Oh, m3ui and related are broken due to:<BR>
<BR>D:\dev2\cm3.2\m3-tools\m3bundle\NT386GNU\m3bundle -name formseditBundle -FD:\DOC<BR>UME~1\Jay\LOCALS~1\Temp\qk<BR>new source -> compiling FormsEditVBT.i3<BR>new source -> compiling formseditBundle.i3<BR>new source -> compiling FormsEditVBT.m3<BR>new source -> compiling FormsEdit.m3<BR>new source -> compiling formseditBundle.m3<BR> -> linking formsedit.exe<BR>D:\dev2\cm3.2/m3-ui\ui\NT386GNU\m3ui.lib.sa(WinTrestle.mo): In function `WinTres<BR>tle__ButtonEvent':<BR>WinTrestle.m3:1843: undefined reference to <A href="mailto:`WindowFromPoint@4'">`WindowFromPoint@4'</A><BR>collect2: ld returned 1 exit status<BR>"D:\\dev2\\cm3.2\m3-sys\cminstall\src\config\NT386GNU", line 583: quake runtime<BR>error: link failed, see D:\dev2\cm3.2\m3-ui\formsedit\NT386GNU\formsedit.lst for<BR> more information<BR>
<BR>\mingw\bin\nm \MinGW\lib\libuser32.a | findstr WindowFromPoint<BR>00000000 T <A href="mailto:_WindowFromPoint@8">_WindowFromPoint@8</A><BR>00000000 I <A href="mailto:__imp__WindowFromPoint@8">__imp__WindowFromPoint@8</A><BR>
<BR>Maybe Tony will fix my __stdcall work. :)<BR>Or maybe the problem is the declaration.<BR>Or maybe I can confirm it is passing a small struct by pointer instead of by reference<BR>and just write a little translation thunk. But also see why NT386 works.<BR>Not a big deal. Trestle can wait.<BR>
<BR>If anyone wants to try this stuff out, debug, I can either share diffs or commit them.<BR>They are actually pretty small.<BR>I just have to look into the definitions of the runtime linker/binder stuff and/or<BR>the assembly, see if there's some disconnect somewhere.<BR>
<BR>
Other gdb above, this is all with mingwin + msys.<BR>
They are enough to build cm3cg.<BR>
mingwin should suffice for the rest.<BR>
<BR>
The ld that comes with the mingwin that free Qt gives you is too old, from around 2004.<BR>
It doesn't support "response files", which are needed for building some packages due to command line length.<BR>
The change was made circa 2005. Current "released" Mingwin works (I didn't use "technology preview")<BR>
<BR>
Probably I'll take a break for now.<BR>
<BR> - Jay<BR><br /><hr />Share life as it happens with the new Windows Live. <a href='http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008' target='_new'>Start sharing!</a></body>
</html>