[LLVMdev] build failure on ARM linux

Andrew Haley aph at redhat.com
Tue Jun 30 11:42:18 PDT 2009


Nick Lewycky wrote:
> I'm seeing this new build failure, starting some time yesterday on ARM:
> 
> make[3]: Entering directory `/home/nlewycky/llvm/tools/llvmc/driver'
> llvm[3]: Linking Debug executable llvmc
> g++ -DLLVMC_BUILTIN_PLUGIN_1=Base -DLLVMC_BUILTIN_PLUGIN_2=Clang -I/home/nlewycky/llvm/include -I/home/nlewycky/llvm/tools/llvmc/driver  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -g -fPIC  -Woverloaded-virtual   -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings  -lCompilerDriver -g  -Wl,-R -Wl,/home/nlewycky/llvm/Debug/bin -Wl,-export-dynamic -L/home/nlewycky/llvm/Debug/lib -L/home/nlewycky/llvm/Debug/lib  -o /home/nlewycky/llvm/Debug/bin/llvmc  /home/nlewycky/llvm/tools/llvmc/driver/Debug/Main.o -lplugin_llvmc_Base -lplugin_llvmc_Clang \
>            -lpthread -ldl -lm 
> /usr/bin/ld: /home/nlewycky/llvm/Debug/bin/llvmc: hidden symbol `__sync_val_compare_and_swap_4' in /usr/lib/gcc/arm-linux-gnueabi/4.3.3/libgcc.a(linux-atomic.o) is referenced by DSO
> /usr/bin/ld: final link failed: Nonrepresentable section on output
> collect2: ld returned 1 exit status
> make[3]: *** [/home/nlewycky/llvm/Debug/bin/llvmc] Error 1
> 
> This is with LLVM being built by the system compiler (GCC 4.3.3-10
> Debian). I'm not sure what to make of this. Would it be due to the
> atomics used for mutexes?

Yes.  It's just a matter of defining __sync_val_compare_and_swap_4:

http://gcc.gnu.org/svn/gcc/trunk/gcc/config/arm/linux-atomic.c

Andrew.



More information about the llvm-dev mailing list