[cfe-dev] Linker error with -flto

Chris Lattner clattner at apple.com
Wed Jun 23 23:56:15 PDT 2010


On Jun 23, 2010, at 11:02 PM, Robert Purves wrote:

> $ cat test.c
> struct Foo
> {
> 	int x, y;
> };
> 
> int main( void )
> {
> 	struct Foo f = { 0, 0 };
> 	return 0;
> }
> 
> $ llvm-gcc-4.2 test.c
> $ llvm-gcc-4.2 test.c -flto
> $ clang test.c
> $ clang test.c -flto
> Intrinsic prototype has incorrect number of arguments!
> void (i8*, i8, i64, i32, i1)* @llvm.memset.p0i8.i64
> Broken module found, compilation aborted!
> Stack dump:
> 0.	Running pass 'Function Pass Manager' on module 'ld-temp.o'.
> 1.	Running pass 'Module Verifier' on function '@main'
> clang: error: linker command failed due to signal 6 (use -v to see invocation)

This sounds like you're using clang with an old liblto.  Try replacing the liblto (in /usr/lib/libLTO.dylib and /Developer/usr/lib/libLTO.dylib) with the one built when you built clang.

-Chris

> 
> $ clang --version
> Apple clang version 1.5 (tags/Apple/clang-60)
> Target: x86_64-apple-darwin10
> Thread model: posix
> 
> With debugging info turned on, the error message is different:
> $ clang test.c -flto -gdwarf2
> ld: in /var/folders/88/88AKX+F62RWmd++8ZOxBkU+++TQ/-Tmp-/cc-qjdqFJ.o, could not parse object file /var/folders/88/88AKX+F62RWmd++8ZOxBkU+++TQ/-Tmp-/cc-qjdqFJ.o: Unknown instruction
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> 
> Robert P.
> 
> 
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev





More information about the cfe-dev mailing list