Changes to Debian's linker object files breaks building LLVM [crti.o, crt1.o, crtn.o]

I’ve got a simple workaround which obviously everyone will figure out:

mdriftmeyer@horus:/usr/lib$ sudo ln -s x86_64-linux-gnu/crti.o crti.o
mdriftmeyer@horus:/usr/lib$ sudo ln -s x86_64-linux-gnu/crt1.o crt1.o
mdriftmeyer@horus:/usr/lib$ sudo ln -s x86_64-linux-gnu/crtn.o crtn.o

My real question concerns whether or not I should file a bug report against Debian not having a transition path or other means in Debian’s update-alternatives infrastructure to update those paths and make them available system-wide or whether LLVM needs to be aware of this move and update autotools configurations files for make to traverse.

  • Sincerely,


clang currently has some extremely ugly hacks to figure out how to
link a program under Linux, and they tend to frequently break; see
lib/Driver/ToolChains.cpp in clang. I think there's been some
discussion of trying to do something more sane, but nobody has stepped
up to do the work.


Seeing as GCC 4.6 works without breaking to build LLVM instead of Clang I think I’m going to bug the Debian proper to make it easier for Clang/LLVM to get the linker update changes. After all, Debian’s breaking an awful lot of stuff lately so it seems reasonable for them to add this to their To Do List.

  • Marc

I just filed a bug against eglibc in Debian to address this issue and seeing as how FreeBSD is becoming a first class platform for Debian besides Linux it makes sense that Clang/LLVM gets the same treatment of ease of building that GCC does in Debian Proper.

  • Marc

Debian’s response I enclose to see if this helps out:

  • Marc


Does clang support similar options?

Yes, Clang supports the -B option. Have you tried emailing That's where the Clang developers (that aren't LLVM devs) hang out.