<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'><div style="text-align: left;">I understand. But there are valid counterpoints.<br>From many people's point of view, a compiler outputs an .obj file.<br>Where the layers are, as long as you don't use the intermediate layers, and/or as<br>long as they aren't "sealed against debugging", don't care.<br>And the more layers, the slower.<br><br>I realize though, that producing an .obj file maybe is actually<br>a significant amount of work and best left to another layer.<br><br>But the code is out there, both in gas to be linked into cm3cg, and e.g. in the integrated NT386 backend.<br><br>As well, generating /textual/ assembly code really does seem like a waste.<br><br>The NT386 compiler is ROUGHLY 4 times the speed of NT386GNU.<br>That must be coming from SOMEWHERE, though I don't really know where.<br>It could be that cm3cg merely spends a lot of CPU trying to improve the code<br>and hardly achieving anything.<br><br> - Jay<br></div><br><blockquote><hr id="EC_stopSpelling">CC: wagner@elegosoft.com; m3devel@elegosoft.com<br>From: hosking@cs.purdue.edu<br>To: jayk123@hotmail.com<br>Subject: Re: [M3devel] possible cygwin createprocess/fork cost   measurements..<br>Date: Mon, 24 Mar 2008 16:05:51 -0400<br><br><div>Blurg!  Tools should do well what they are supposed to do and do no more than necessary.  Assemblers are good at assembling, so why reinvent the wheel?</div><div><br></div><div>See: <a href="http://linux.oreillynet.com/lpt/a/302" target="_blank">http://linux.oreillynet.com/lpt/a/302</a></div><div><br></div><div>The counterpoint to this argument is Windoze...</div><div><br></div><div>On Mar 24, 2008, at 3:25 PM, Jay wrote:<br class="EC_Apple-interchange-newline"><blockquote><span class="EC_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; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div class="EC_hmmessage" style="font-size: 10pt; font-family: Tahoma;">I understand, but it need not be this way.<br> <br><a href="http://gcc.gnu.org/ml/gcc/2004-05/msg00318.html" target="_blank">http://gcc.gnu.org/ml/gcc/2004-05/msg00318.html</a><br> <br>GCC is the last compiler I'm using that doesn't have an integrated object file generator. It's way past<br>time to integrate BFD, opcodes, etc. or whatever other solution to replace this generate-text-and-pipe-it-to-the-assembler '70s technology.<br>That means one less thing on the host that may not match GCC's expectations. (e.g. AltiVec register names and the host assemblers)<br> <br>- Jay<br><br><br><blockquote><hr id="EC_EC_stopSpelling">CC:<span class="EC_Apple-converted-space"> </span><a href="mailto:wagner@elegosoft.com">wagner@elegosoft.com</a>;<span class="EC_Apple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br><div><blockquote><font color="#000000" face="Tahoma">[snip]</font><br></blockquote><div>gcc itself is a top-level driver program that generates as and forks an as.   I don't think it's possible to do what you suggest.</div><blockquote> </blockquote></div></blockquote></div></span></blockquote></div><br></blockquote></body>
</html>