This is caused by a recent modification in libc6-dev (source eglibc), presumably for multi-arch support. Attached patch teaches Clang to search these directories. However, I suspect that it will break sooner or later again when one does "cross-compiling" with -m64 or -m32 on i386 and amd64, respectively, because the "foreign" crt*.o files haven't been moved yet. Don't know whether they ever will be moved, though, but logic and some hunch tells me so...
Michael
diff -Nru clang-2.9/debian/changelog clang-2.9/debian/changelog --- clang-2.9/debian/changelog 2011-06-06 09:55:44.000000000 +0000 +++ clang-2.9/debian/changelog 2011-06-08 07:57:58.000000000 +0000 @@ -1,3 +1,11 @@ +clang (2.9-2+nmu1) unstable; urgency=low + + * Non-maintainer upload. + * debian/patches/11-searchMultiArchLibDir.patch: Adds the multi-arch library + directory to the file search path (Closes: #629594) + + -- Michael Wild <them...@users.sourceforge.net> Wed, 08 Jun 2011 09:54:43 +0200 + clang (2.9-2) unstable; urgency=low [ Michael Wild ] diff -Nru clang-2.9/debian/patches/11-searchMultiArchLibDir.patch clang-2.9/debian/patches/11-searchMultiArchLibDir.patch --- clang-2.9/debian/patches/11-searchMultiArchLibDir.patch 1970-01-01 00:00:00.000000000 +0000 +++ clang-2.9/debian/patches/11-searchMultiArchLibDir.patch 2011-06-08 08:14:24.000000000 +0000 @@ -0,0 +1,30 @@ +--- + ToolChains.cpp | 8 ++++++++ + 1 file changed, 8 insertions(+) + +Description: Add the multi-arch lib directory to the file search path + Otherwise Clang is not able to find crt*.o. + +Author: Michael Wild <them...@users.sourceforge.net> +Bug: http://llvm.org/bugs/show_bug.cgi?id=10100 +Bug-Debian: http://bugs.debian.org/629594 +Forwarded: http://llvm.org/bugs/attachment.cgi?id=6711 +Last-Update: 2011-06-08 + +--- clang-2.9.orig/tools/clang/lib/Driver/ToolChains.cpp ++++ clang-2.9/tools/clang/lib/Driver/ToolChains.cpp +@@ -1531,6 +1531,14 @@ Linux::Linux(const HostInfo &Host, const + Paths.push_back(Base + "/../../.."); + if (Arch == getArch() && IsUbuntu(Distro)) + Paths.push_back("/usr/lib/" + GccTriple); ++ if (Distro == DebianWheezy && Arch == getArch()) ++ { ++ if (!llvm::sys::fs::exists("/usr/lib/" + GccTriple + "/crt1.o", Exists) && Exists) ++ Paths.push_back("/usr/lib/" + GccTriple); ++ else if (Is32Bits && ++ !llvm::sys::fs::exists("/usr/lib/i386-linux-gnu/crt1.o", Exists) && Exists) ++ Paths.push_back("/usr/lib/i386-linux-gnu"); ++ } + } + + bool Linux::HasNativeLLVMSupport() const {