[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