<div>Summary:</div><div><br></div><div>Attempting to link a clang i386 object file into a Mac executable results in my computer becoming nonresponsive.</div><div><br></div><div>I inquired about assembling code with the GNU assembler (Gas AKA as). As Xcode contains an old linker, as 1.38, Apple advised using clang instead, per ticket 12408921 (<a href="https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/3/wo/UMrtsuR9aIxsbFCn1P0R4w/5.83.28.0.9">https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/3/wo/UMrtsuR9aIxsbFCn1P0R4w/5.83.28.0.9</a>).</div>
<div><br></div><div>Steps to Reproduce:</div><div><br></div><div>1. Download the Hello World Gas code (<a href="https://github.com/mcandre/mcandre/tree/master/gas/hello/freebsd">https://github.com/mcandre/mcandre/tree/master/gas/hello/freebsd</a>).</div>
<div>2. Run "make".</div><div><br></div><div>Expected Results:</div><div><br></div><div>3. The object code is linked into an executable, and then the executable is run.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">     </span>$ make</div>
<div><span class="Apple-tab-span" style="white-space:pre">      </span>clang -c -o hello.o -arch i386 hello.s</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>ld -o hello -macosx_version_min 10.6 hello.o</div>
<div><span class="Apple-tab-span" style="white-space:pre">      </span>./hello</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>Hello World!</div><div><br></div><div>Actual Results:</div><div><br></div><div>
3. The computer freezes up.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>$ make</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>clang -c -o hello.o -arch i386 hello.s</div>
<div><span class="Apple-tab-span" style="white-space:pre">      </span>ld -o hello -macosx_version_min 10.6 hello.o</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>(frozen)</div><div><br></div><div>Attempts to stop the linker with Control+C, quitting Terminal.app, Force Quit Applications, and Activity Monitor fail, as the system becomes too slow to process user input.</div>
<div><br></div><div>Specs:</div><div><br></div><div>* ld64-134.9</div><div>* clang 4.1</div><div>* as 1.38</div><div>* Xcode 4.5</div><div>* Mac OS X 10.8.2</div><div>* MacBook Pro 2009</div><div><br></div>-- <br><div></div>
Cheers,<div><br></div><div>Andrew Pennebaker</div><div><a href="http://www.yellosoft.us" target="_blank">www.yellosoft.us</a></div>