Hi Brandon,<div><br></div><div>Thanks - looks like this would be a modification of the linking stage, splitting it into two parts: batching objects and then actually linking them.</div><div><br></div><div>Do you think that what I originally proposed is still a good thing to have before implementing your solution? (it definitely would be for myself, as it&#39;s easier to do and I&#39;d then quicker become able to build my application with split-objs and shrink its executable size from 11 to 2Mb)<br>
<br><div class="gmail_quote">On Wed, Jan 11, 2012 at 9:48 PM, Brandon Allbery <span dir="ltr">&lt;<a href="mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="im">On Wed, Jan 11, 2012 at 02:12, Eugene Kirpichov <span dir="ltr">&lt;<a href="mailto:ekirpichov@gmail.com" target="_blank">ekirpichov@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think a nice fix would be to employ gcc&#39;s ability to read options from a file - gcc @file - and write overly long option strings into temp files.</blockquote></div><br></div>What immediately occurs to me is, what if the problem (or another manifestation of same) occurs in the ld step?  OS X&#39;s ld(1) doesn&#39;t have such an option /per se/, and binutils ld(1) does not reliably create valid Mach-O objects.<div>

<br></div><div>I would consider &quot;batching&quot; split-objs files into static archives (see ar(1) and ranlib(1)).  This also has the advantages of being portable (other platforms other have length limits; I believe it&#39;s the main reason split-objs is disabled by default on e.g. Solaris) and that with many linkers it&#39;s faster than individual objects because it can use the archive table of contents to speed up searching for files and symbols.<span class="HOEnZb"><font color="#888888"><br clear="all">

<div><br></div>-- <br>brandon s allbery                                      <a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a><br>wandering unix systems administrator (available)     <a href="tel:%28412%29%20475-9364" value="+14124759364" target="_blank">(412) 475-9364</a> vm/sms<br>

<br>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Eugene Kirpichov<br>Principal Engineer, Mirantis Inc. <a href="http://www.mirantis.com/" target="_blank">http://www.mirantis.com/</a><br>Editor, <a href="http://fprog.ru/" target="_blank">http://fprog.ru/</a><br>

</div>