<div dir="ltr">Hi Rafael<div><br></div><div>I'm also experiencing this with FreeBSD's linker (10.0-RELEASE-p12). Applying your patch resolves the issue. Would it make sense to commit the patch?</div><div><br></div><div>Thanks</div><div class="gmail_extra"><div><div class="gmail_signature"><div dir="ltr"><br><div><div>--</div>Khilan Gudka</div><div><div>Research Associate</div><div>Security Group</div><div>Computer Laboratory<br></div><div><div>University of Cambridge</div></div><div><a href="http://www.cl.cam.ac.uk/~kg365/" target="_blank">http://www.cl.cam.ac.uk/~kg365/</a></div></div></div></div></div>
<br><div class="gmail_quote">On 5 November 2014 at 17:41, Rafael EspĂ­ndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> The reduced testcase is attached. Build it with<br>
><br>
> gcc test3.c -fPIC -shared -o test3.so<br>
> gcc test2.c -fPIC -shared -o test2.so test3.so<br>
> gcc test.c -o test test2.so -fuse-ld=gold # works<br>
> gcc test.c -o test test2.so -fuse-ld=bfd #fails<br>
><br>
> Maybe we should just require a non-broken linker for BUILD_SHARED_LIBS?<br>
<br>
</span>Good news is that bfd ld has a command line option to enable the sane<br>
behavior, so we should be able to just use the attached patch. With it<br>
we get fewer bogus dependencies. For example, we go from<br>
<br>
build lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AggressiveAntiDepBreaker.cpp.o:<br>
CXX_COMPILER /home/espindola/llvm/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp<br>
|| include/llvm/IR/intrinsics_gen lib/libLLVMSupport.so<br>
lib/libLLVMCore.so lib/libLLVMBitReader.so<br>
lib/libLLVMTransformUtils.so lib/libLLVMInstCombine.so<br>
lib/libLLVMScalarOpts.so lib/libLLVMipa.so lib/libLLVMAnalysis.so<br>
lib/libLLVMMCParser.so lib/libLLVMMC.so lib/libLLVMObject.so<br>
lib/libLLVMTarget.so lib/libLLVMProfileData.so<br>
<br>
to<br>
<br>
build lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AggressiveAntiDepBreaker.cpp.o:<br>
CXX_COMPILER /home/espindola/llvm/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp<br>
|| include/llvm/IR/intrinsics_gen lib/libLLVMSupport.so<br>
lib/libLLVMCore.so lib/libLLVMTransformUtils.so<br>
lib/libLLVMScalarOpts.so lib/libLLVMAnalysis.so lib/libLLVMMC.so<br>
lib/libLLVMTarget.so<br>
<br>
Cheers,<br>
Rafael<br>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div></div>