[LLVMdev] llvm/clang test failures on powerpc-darwin8

David Fang fang at csl.cornell.edu
Fri Dec 16 10:12:38 PST 2011


>> Hi Jack,
>> 	I never managed to successfully build llvm29 on powerpc-darwin8, after
>> running into some build issues, and having filed bug 9958, I got the
>> impression of ppc-darwin being "not supported", so I didn't put much more
>> effort into it back then.  However llvm28 did build, and I still have it
>> installed and hidden away.  (It looks like *someone* runs ppc-darwin a
>> buildbot, but not for darwin8.)  Knowing what I've learned so far, the
>> effort would be similar, perhaps even duplicate to just trying to fix
>> things directly with g++-4.0.1.  Time will tell, I suppose.
>>
>> Fang
>>
>
> David,
>   I suspect you might be running into problem with...
>
> CMAKE_OPTIONS="-DLLVM_BUILD_32_BITS:BOOL=ON -DLLVM_TARGETS_TO_BUILD=PowerPC"
>
> not working properly in the llvm 2.9 release for building with cmake.
>
> http://llvm.org/bugs/show_bug.cgi?id=9957
>
> If you can tolerate the complete build by changing this to...
>
> CMAKE_OPTIONS="-DLLVM_BUILD_32_BITS:BOOL=ON"
>
> then llvm 2.9 should build on powerpc-apple-darwin8. This issue shouldn't exist for
> i386-apple-darwin8.
>           Jack

I took care of that issue already, then there's:
http://llvm.org/bugs/show_bug.cgi?id=9958

/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of 
symbol _abort
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libpthread.dylib(abort.So)
definition of _abort
../../lib/libLLVMSupport.a(Signals.cpp.o) definition of _abort in section
(__TEXT,__text)
collect2: ld returned 1 exit status
make[2]: *** [bin/tblgen] Error 1

I don't see this issue on 3.0 or trunk, but the linker does issue 
repeated warnings in all of my build logs with 3.0 and trunk:

/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning suggest use of 
-bind_at_load, as lazy binding may result in errors or different symbols being used
symbol _abort used from dynamic library 
../../lib/libLLVMSupport.dylib(Signals.cpp.o) not from earlier dynamic library 
/usr/lib/libSystem.B.dylib(abort.So)
symbol _raise used from dynamic library 
../../lib/libLLVMSupport.dylib(Signals.cpp.o) not from earlier dynamic library 
/usr/lib/libSystem.B.dylib(raise.So)

I haven't tried to add the -bind_at_load flag to the executable linker 
flags yet, not even sure if that would be correct.

Fang

-- 
David Fang
http://www.csl.cornell.edu/~fang/




More information about the llvm-dev mailing list