[LLVMbugs] [Bug 1006] NEW: llvm-gcc libstdc++.so fails to have Std C++ Symbol
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Thu Nov 16 15:23:20 PST 2006
http://llvm.org/bugs/show_bug.cgi?id=1006
Summary: llvm-gcc libstdc++.so fails to have Std C++ Symbol
Product: tools
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: minor
Priority: P2
Component: llvm-gcc
AssignedTo: unassignedbugs at nondot.org
ReportedBy: rspencer at x10sys.com
If you configure llvm-gcc4 without --disable-shared option and then attempt to
use it as a linker for a C++ program, you will encounter:
/proj/llvm/cfe/install-1/lib/gcc/i686-pc-linux-gnu/4.0.1/libstdc++.so: undefined
reference to `std::basic_istream<wchar_t, std::char_traits<wchar_t> >::ignore(int)'
In C, the symbol is: _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi
This was a known issue with the 4.0.x release. The patch suggested on the gcc
patches list has been applied to llvm-gcc4. Its not clear why this symbol
doesn't show up when building shared libs. After digging into it for a while, I
believe the problem lies in the libstdc++-v3/config/linker-map.gnu file in
llvm-gcc4. You will find that there is no section for the 3.4.6 compiler. It
stops at 3.4.5.
There are several references to this problem on our llvm-dev mailing list:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-August/006522.html
http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-August/006587.html
http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-August/006588.html
The workaround is: use --disable-shared when you configure llvm-gcc4.
This issue is quite likely Linux specific.
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the llvm-bugs
mailing list