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? Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090630/b2c4b768/attachment.html>
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.
I'm getting a different failure in llvmc link on Leopard mac builds (Debug and Release): llvm[1]: Linking Release executable llvmc (without symbols) g++ -DLLVMC_BUILTIN_PLUGIN_1=Base -DLLVMC_BUILTIN_PLUGIN_2=Clang -I/Users/john/work/projects/comp/llvm-work/exp/build/llvm-check/include -I/Users/john/work/projects/comp/llvm-work/exp/build/llvm-check/tools/llvmc/driver -I/Users/john/work/projects/comp/llvm-work/llvm/include -I/Users/john/work/projects/comp/llvm-work/llvm/tools/llvmc/driver -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 -fno-common -Woverloaded-virtual -m32 -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -lCompilerDriver -O3 -L/Users/john/work/projects/comp/llvm-work/exp/build/llvm-check/Release/lib -L/Users/john/work/projects/comp/llvm-work/exp/build/llvm-check/Release/lib -o /Users/john/work/projects/comp/llvm-work/exp/build/llvm-check/Release/bin/llvmc /Users/john/work/projects/comp/llvm-work/exp/build/llvm-check/tools/llvmc/driver/Release/Main.o -lplugin_llvmc_Base -lplugin_llvmc_Clang \ -lpthread -lffi -lm Undefined symbols: "llvmc::ForceLinkageClang()", referenced from: llvmc::ForceLinkage() in Main.o _main in Main.o "llvmc::ForceLinkageBase()", referenced from: llvmc::ForceLinkage() in Main.o _main in Main.o ld: symbol(s) not found collect2: ld returned 1 exit status make[1]: *** [/Users/john/work/projects/comp/llvm-work/exp/build/llvm-check/Release/bin/llvmc] Error 1 make: *** [all] Error 1 On Tue, Jun 30, 2009 at 12:29 PM, Nick Lewycky <nlewycky at google.com> 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? > > Nick > > > _______________________________________________ > 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/0618f2f9/attachment.html>
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>