<html><head><base href="x-msg://713/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div><span class="Apple-style-span" style="font-size: medium; ">On 15 Mar 2010, at 21:41, Jay K wrote:</span></div></span></span></span></span></span></span></span></span></div></span></span></div><div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="hmmessage" style="font-size: 10pt; font-family: Verdana; ">Release status as far as I know:<br> <br> - cvsupd hang<br> Reported over a year ago. Needs investigation.<br> Can anyone confirm it with a recent version?<br> And, as Tony asked, with user threads?<br></div></span></blockquote><div><br></div><div>If anyone gets a snapshot please also make sure to get a backtrace for all the threads.</div><br><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="hmmessage" style="font-size: 10pt; font-family: Verdana; "> - NT386 has no 64bit longint in release branch. Partly the point of this question.<br> <br> <br> - Should maybe improve build/packaging to get NT386-VC80.msi, NT386-VC90.msi etc. (not the same as "target/abi alteration via command line" expressed below, though that is a possibility, but separate clean builds for now and/or separate CVS checkouts); really more of a Hudson task now, to have multiple build environments installed and used, I think I already updated the .msi building to append the tag. Olaf?<br> <br> <br> - I believe there is "new" divergence in m3front between head and release -- whatever came along with the TInt changes.<br></div></span></blockquote><div><br></div><div>Those changes will need bringing over from head to release if Jay's m3back 64-bit support for NT386 are also brought over. I believe there are a few dependencies.</div><br><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="hmmessage" style="font-size: 10pt; font-family: Verdana; "> Otherwise I'd have to look through trac.<br> <br> <br>There's maybe some stuff not merged from release to head, but that's ok for release.<br> (I need to check which branch Randy fixed the examples in.)<br>I need to re-test the .msis.<br> <br> <br> - Jay<br><br> <br>> From:<span class="Apple-converted-space"> </span><a href="mailto:hosking@cs.purdue.edu">hosking@cs.purdue.edu</a><br>> To:<span class="Apple-converted-space"> </span><a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a><br>> Subject: Re: [M3devel] arbitrary use of LONGINT for testing? target/ABI alteration/generation via command line?<br>> Date: Mon, 15 Mar 2010 20:00:27 -0500<br>> CC:<span class="Apple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>><span class="Apple-converted-space"> </span><br>> Let's not right now. We need to get the release out. I suggest a<span class="Apple-converted-space"> </span><br>> freeze on compiler changes for now. Bug fixes only!<br>><span class="Apple-converted-space"> </span><br>> Sent from my iPhone<br>><span class="Apple-converted-space"> </span><br>> On Mar 15, 2010, at 7:54 PM, Jay K <<a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>> wrote:<br>><span class="Apple-converted-space"> </span><br>> > Tony et. al. I'm wondering/fishing if you any ideas, like a cm3<span class="Apple-converted-space"> </span><br>> > command line switch, that might be used to make INTEGER 64bits to<span class="Apple-converted-space"> </span><br>> > increase coverage/testing of 64bit integer support.<br>> ><br>> ><br>> > The problem is *at least* interfacing with external code/files, if<span class="Apple-converted-space"> </span><br>> > not breaking everything.<br>> > Maybe also a problem around sizeof(INTEGER) vs. sizeof(ADDRESS).<br>> > Probably such a setting would grow ADDRESS too.<br>> ><br>> ><br>> > Like, maybe stuff like m3core/unix, m3core/win32 should never use<span class="Apple-converted-space"> </span><br>> > plain INTEGER or LONGINT, but "BITS FOR", to allow this to work? Or<span class="Apple-converted-space"> </span><br>> > maybe <* EXTERNAL *> would be the hint?<br>> > No, <* EXTERNAL *> isn't adequate, due to the case of callbacks.<br>> ><br>> ><br>> > I'd like to somehow, without too much effort, significantly increase<span class="Apple-converted-space"> </span><br>> > testing of LONGINT.<br>> ><br>> ><br>> > Maybe a wierdo platform NT386_64 that does this just for test<span class="Apple-converted-space"> </span><br>> > purposes?<br>> > I might try that, if "BITS FOR" is enough to actually let it work<span class="Apple-converted-space"> </span><br>> > (interface with C).<br>> > (or generally, cm3 -test64 would append "_TEST64" to target name,<span class="Apple-converted-space"> </span><br>> > so we could have LINUXLIBC6_TEST64, I386_DARWIN_TEST64, etc.)<br>> ><br>> ><br>> > I can do some initial experiments along this -test64 line, see if it<span class="Apple-converted-space"> </span><br>> > completely blows up or not.<br>> > A few minutes thought suggests it should work easily and provide<span class="Apple-converted-space"> </span><br>> > value.<br>> ><br>> ><br>> > (There's probably something similar to try around a 16 bit CHAR. vs.<span class="Apple-converted-space"> </span><br>> > BITS 8 FOR CHAR, but I'm not going there..)<br>> ><br>> ><br>> > Such command line driven target/ABI alterations seem like a somewhat<span class="Apple-converted-space"> </span><br>> > good idea.<br>> > e.g. cm3 -userthreads would append _USERTHREADS.<br>> > cm3 -extended80 would use an 80 or 96 bit extended on x86 (96 bits<span class="Apple-converted-space"> </span><br>> > for alignment).<br>> > -extended128 on ppc<br>> > etc.<br>> ><br>> ><br>> > cm3 -msvc80 could probe around in enviroment for a Visual C++ 8.0<span class="Apple-converted-space"> </span><br>> > compiler/linker/header/libraries and append "_MSVC80" to target,<span class="Apple-converted-space"> </span><br>> > else fail.<br>> ><br>> ><br>> > I'll just try -test64 for now.<br>> > The rest aren't as immediately useful.<br>> > -userthreads would be my next "favorate".<br>> ><br>> > Hm. Instead of -test64, how about -64.<br>> > If integer is 32 bits, change it to 64 and append _64 (and address).<br>> > If integer is already 64bits, do nothing.<br>> ><br>> ><br>> > This is quite different than gcc's -m64 though.<br>> > Maybe not good that way.<br>> ><br>> ><br>> > You can see parallels in several older C compilers.<br>> ><br>> > Metrowerks for Mac/68K let you chose integer size and either double<span class="Apple-converted-space"> </span><br>> > or extended size (I forget which).<br>> > That gave you a cross product set of ABIs, each with their own<span class="Apple-converted-space"> </span><br>> > libraries.<br>> ><br>> ><br>> > Similarly you could chose to issue FPU instructions directly, which<span class="Apple-converted-space"> </span><br>> > might have altered the ABI, or maybe the alternate libraries were<span class="Apple-converted-space"> </span><br>> > just faster.<br>> ><br>> ><br>> > Similarly Microsoft and memory models. Various switches changed the<span class="Apple-converted-space"> </span><br>> > size of a pointer and implied a need for different libraries.<br>> ><br>> ><br>> > Current gcc and ppc floating point sizes I believe is a contemporary<span class="Apple-converted-space"> </span><br>> > example.<br>> > Even sometimes the affect that -pthread has -- chosing different<span class="Apple-converted-space"> </span><br>> > libraries (unnecessary<br>> > mess imho, but one that seems to persist on HP-UX.)<br>> ><br>> ><br>> > It's kind of an ugly area, to offer too many choices, produces<span class="Apple-converted-space"> </span><br>> > confusion, but the limited important goal of increasing 64bit<span class="Apple-converted-space"> </span><br>> > integer testing seems worth going here. And increasing userthread<span class="Apple-converted-space"> </span><br>> > testing. People have expressed an interest in higher precision<span class="Apple-converted-space"> </span><br>> > floating point, esp. 80 bit on x86, so this maybe a good way to<span class="Apple-converted-space"> </span><br>> > proceed there also.<br>> > You could also imagine flags -SSE, -SSE2, etc.<br>> ><br>> ><br>> > It is important to only support a very limited number of these flags.<br>> > Large cross products are not fun to worry about and test.<br>> > But for example, with SSE, that nets you several targets all at<span class="Apple-converted-space"> </span><br>> > once, without per-target work.<br>> ><br>> > (I lose the term "SSE" loosely. Could be I mean "SSE2" or 3 --<span class="Apple-converted-space"> </span><br>> > whatever is sufficient to largely replace the stack based x87.)<br>> ><br>> ><br>> > - Jay<br></div></span></blockquote></div><br></body></html>