Attached source (from Qt) will cause sections of form "gnu.linkonce.t" to be printed into resulting LLVM bytecode (e.g. when compiling with -emit-llvm -S). This causes misc linker problems. A quick workaround was introduced: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070101/042142.html It should be reverted after this bug fixed.
Created attachment 543 [details] Preprocessed source
Created attachment 544 [details] Resulted .ll
Created attachment 545 [details] Slightly reduced source llvm-g++ -S -emit-llvm test.ii -o - | grep "gnu.linkonce.t"
This is a ELF-specific bug in the C++ FE. Patch sent to llvm-commits, testcase here: Regression/C++Frontend/2007-01-06-ELF-Thunk-Sections.cpp -Chris
Workaround was removed as well.
Patch here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070101/042150.html
This is not fixed. The Regression/C++Frontend/2007-01-06-ELF-Thunk-Sections.cpp test case fails on Linux at least. The "not grep" part of it is failing.
Hmm. Strange. I've got linker errors due to presense of such sections. Now: 1. Sections go away 2. There are no linker errors. Will check the testcase.
Reid, could you please attach the LLVM bytecode generated by llvm-g++ from the testcase?
Created attachment 549 [details] x86-linux bytecode for test case This bytecode file provides the output of llvm-gcc for x86-linux where the test case fails.
This fixes the fix. Reid, plz verify and remove the xfail from the testcase if ok now. http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070108/042246.html Thanks, -Chris
Works now.