[LLVMdev] build failure on ARM linux

Nick Lewycky nlewycky at google.com
Tue Jun 30 12:02:25 PDT 2009


2009/6/30 Andrew Haley <aph at redhat.com>

> 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
>

The program is supposed to define it? LLVM doesn't directly call
__sync_val_compare_and_swap_4, so either the system headers #define
something else to it or gcc lowers another call to that. In either case, why
is it declared HIDDEN?

Nick


>
> Andrew.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090630/c3faa29b/attachment.html>


More information about the llvm-dev mailing list