Re: [Mesa3d-dev] Current tinderbox regression (swrastg_dri, sparc64)
On Sun, Mar 28, 2010 at 3:07 PM, Luca Barbieri wrote: > On Sun, Mar 28, 2010 at 7:36 PM, Chris Ball wrote: >> Hi, >> >> > http://tinderbox.x.org/builds/2010-03-25-0018/logs/libGL/#build >> > >> > swrastg_dri.so.tmp: undefined reference to `__sync_sub_and_fetch_4' >> > swrastg_dri.so.tmp: undefined reference to `__sync_add_and_fetch_4' >> >> This regression is still present -- could we get a fix or a revert? > > I believe the problem is that sparc does not support atomic operations > in the basic architecture: I think someone who knows about sparc and > has such a machine should look into it. > > If you don't know anything about sparc, try rebuilding with the > highest possible sparc -march= level and if that fixes the problem, > perform a binary search to find the minimum one, and then report the > results. > > If it does not solve the problem, see if anything in /lib or /usr/lib > exports those symbols. > > Also maybe check whether the built swrastg_dri or xlib softpipe > actually works there. I think we need to be specifying something like -mcpu=v9 or something to be able to use the __sync_* primitives. I highly doubt anyone wants to run any of this code on something older. I've CC'd Dave Miller--he'll know what to do. Thanks, Matt -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
Re: [Mesa3d-dev] Current tinderbox regression (swrastg_dri, sparc64)
On Sun, Mar 28, 2010 at 7:36 PM, Chris Ball wrote: > Hi, > > > http://tinderbox.x.org/builds/2010-03-25-0018/logs/libGL/#build > > > > swrastg_dri.so.tmp: undefined reference to `__sync_sub_and_fetch_4' > > swrastg_dri.so.tmp: undefined reference to `__sync_add_and_fetch_4' > > This regression is still present -- could we get a fix or a revert? I believe the problem is that sparc does not support atomic operations in the basic architecture: I think someone who knows about sparc and has such a machine should look into it. If you don't know anything about sparc, try rebuilding with the highest possible sparc -march= level and if that fixes the problem, perform a binary search to find the minimum one, and then report the results. If it does not solve the problem, see if anything in /lib or /usr/lib exports those symbols. Also maybe check whether the built swrastg_dri or xlib softpipe actually works there. -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
Re: [Mesa3d-dev] Current tinderbox regression (swrastg_dri, sparc64)
Hi, > http://tinderbox.x.org/builds/2010-03-25-0018/logs/libGL/#build > > swrastg_dri.so.tmp: undefined reference to `__sync_sub_and_fetch_4' > swrastg_dri.so.tmp: undefined reference to `__sync_add_and_fetch_4' This regression is still present -- could we get a fix or a revert? Thanks, - Chris. -- Chris Ball One Laptop Per Child -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
Re: [Mesa3d-dev] Current tinderbox regression (swrastg_dri, sparc64)
On Fri, Mar 26, 2010 at 4:11 AM, Luca Barbieri wrote: > Are you sure that swrastg and/or any Gallium driver actually load > correctly and work on sparc64? > you are right, I forgot that gallium has its own sync primitives, scratch my reply > This seems to indicate that they use __sync_add_and_fetch_4 assuming > it is a GCC builtin, but GCC does not implement it as a builtin on > sparc64 and neither libgcc nor libc have an implementation of the > function. > > I don't know anything about sparc64, but according to the linux > kernel, I vaguely guess that specifying an high enough -march= to gcc > could solve it by enabling use of atomic instructions that are > otherwise are not used. > > The root cause is likely that we set PIPE_ATOMIC_GCC_INTRINSIC even > though not all __sync builtins are actually supported: we should > probably fix that. > -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
Re: [Mesa3d-dev] Current tinderbox regression (swrastg_dri, sparc64)
Are you sure that swrastg and/or any Gallium driver actually load correctly and work on sparc64? This seems to indicate that they use __sync_add_and_fetch_4 assuming it is a GCC builtin, but GCC does not implement it as a builtin on sparc64 and neither libgcc nor libc have an implementation of the function. I don't know anything about sparc64, but according to the linux kernel, I vaguely guess that specifying an high enough -march= to gcc could solve it by enabling use of atomic instructions that are otherwise are not used. The root cause is likely that we set PIPE_ATOMIC_GCC_INTRINSIC even though not all __sync builtins are actually supported: we should probably fix that. -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
Re: [Mesa3d-dev] Current tinderbox regression (swrastg_dri, sparc64)
On Fri, Mar 26, 2010 at 2:23 AM, Chris Ball wrote: > Hi, > > http://tinderbox.x.org/builds/2010-03-25-0018/logs/libGL/#build > > mklib: Making Linux shared library: swrastg_dri.so.tmp > gcc -o swrastg_dri.so.test ../../../../src/mesa/drivers/dri/common/dri_test.o > swrastg_dri.so.tmp > -L/home/cjb/xorg-build/lib -ldrm -lexpat -lm -lpthread -ldl > swrastg_dri.so.tmp: undefined reference to `__sync_sub_and_fetch_4' > swrastg_dri.so.tmp: undefined reference to `__sync_add_and_fetch_4' > > (Only seen on sparc64.) > my guess is that glapi uses sync primitives (see glthread.h) and the test is done against stubs which does not contain these primitives. it should be possible to build the real libglapi.a first (by adding a Makefile in src/mesa/glapi) and then do the link test using the real libglapi.a -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
[Mesa3d-dev] Current tinderbox regression (swrastg_dri, sparc64)
Hi, http://tinderbox.x.org/builds/2010-03-25-0018/logs/libGL/#build mklib: Making Linux shared library: swrastg_dri.so.tmp gcc -o swrastg_dri.so.test ../../../../src/mesa/drivers/dri/common/dri_test.o swrastg_dri.so.tmp -L/home/cjb/xorg-build/lib -ldrm -lexpat -lm -lpthread -ldl swrastg_dri.so.tmp: undefined reference to `__sync_sub_and_fetch_4' swrastg_dri.so.tmp: undefined reference to `__sync_add_and_fetch_4' (Only seen on sparc64.) -- Chris Ball One Laptop Per Child -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev