[cfe-dev] Linker error with -flto

Robert Purves listrp at gmail.com
Thu Jun 24 00:30:11 PDT 2010


Chris Lattner 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.

I didn't build it. Everything is from the recent Xcode 3.2.3 release

$ ls -l /usr/lib/libLTO.dylib 
-rwxrwxr-x  1 root  admin  25934400 11 May 11:49 /usr/lib/libLTO.dylib
$ ls -l /Developer/usr/lib/libLTO.dylib 
-rwxrwxr-x  1 root  admin  25934400 11 May 11:49 /Developer/usr/lib/libLTO.dylib

> $ clang --version
> Apple clang version 1.5 (tags/Apple/clang-60)

Robert P.





More information about the cfe-dev mailing list