On Wed, Jan 13, 2010 at 01:06:29PM -0800, Ian Wienand wrote: > Hi, > > libatomic-ops has been failing on lebrun. However, I logged on to > smetana in an attempt to reproduce this, and 1.2+cvs20091005-1 builds > just fine ... I didn't do anything but drop in the the unstable chroot > and dpkg-buildpackage. > > Any suggestions? > > -i > > --- > atomic_ops_stack.c:95: warning: unused variable 'i' > /tmp/cctVwQzs.s: Assembler messages: > /tmp/cctVwQzs.s:68: Error: Architecture mismatch on "membar". > /tmp/cctVwQzs.s:68: (Requires v9|v9a|v9b; requested architecture is sparclite.) The sparc port is 32-bit. Older sparcs had no support for integer multiply and divide, so decisions were gradually made to up the requirements for what machine the sparc port would support. Hence we get to sparclite (having passed v7 and v8). The sparc v9 architecture is 64-bit. I believe, looking at the GCC source, that enabling any v9 instructions will force the use of the 64-bit architecture. This is obviously unsuitable, since the benefit of the 32-bit sparc port is that it has better performance (pointers and longs are smaller, and therefore fit into cache better). Debian's sparc port remains 32-bit, but only 64-bit kernels are provided, since nobody (at all, anywhere) maintains the 32-bit sparc kernel. However, according to GCC (gcc/config/sparc/sparc.h): Prior to V9, there are no instructions to even talk about memory synchronization. Hence you get the problem. Somebody wrote assembly assuming that code would be running on a 64-bit processor. And it is, but because GCC doesn't provide a 32-bit sparc v9 compiler, we have to compile for sparclite. This is something that you'll have to work out with upstream, probably. > /tmp/cctVwQzs.s:69: Error: Architecture mismatch on "cas". > /tmp/cctVwQzs.s:69: (Requires v9|v9a|v9b; requested architecture is sparclite.) > /tmp/cctVwQzs.s:70: Error: Architecture mismatch on "membar". > /tmp/cctVwQzs.s:70: (Requires v9|v9a|v9b; requested architecture is sparclite.) > /tmp/cctVwQzs.s:152: Error: Architecture mismatch on "membar". > /tmp/cctVwQzs.s:152: (Requires v9|v9a|v9b; requested architecture is sparclite.) > /tmp/cctVwQzs.s:153: Error: Architecture mismatch on "cas". > /tmp/cctVwQzs.s:153: (Requires v9|v9a|v9b; requested architecture is sparclite.) > /tmp/cctVwQzs.s:154: Error: Architecture mismatch on "membar". > /tmp/cctVwQzs.s:154: (Requires v9|v9a|v9b; requested architecture is sparclite.) > /tmp/cctVwQzs.s:229: Error: Architecture mismatch on "membar". > /tmp/cctVwQzs.s:229: (Requires v9|v9a|v9b; requested architecture is sparclite.) > /tmp/cctVwQzs.s:230: Error: Architecture mismatch on "cas". > /tmp/cctVwQzs.s:230: (Requires v9|v9a|v9b; requested architecture is sparclite.) > /tmp/cctVwQzs.s:231: Error: Architecture mismatch on "membar". > /tmp/cctVwQzs.s:231: (Requires v9|v9a|v9b; requested architecture is sparclite.) > --- > > [1] https://buildd.debian.org/build.php?arch=sparc&pkg=libatomic-ops&ver=1.2%2Bcvs20091005-1 > > > -- > To UNSUBSCRIBE, email to debian-sparc-REQUEST@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org > -- brian m. carlson / brian with sandals: Houston, Texas, US +1 713 440 7475 | http://crustytoothpaste.ath.cx/~bmc | My opinion only OpenPGP: RSA v4 4096b 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
Attachment:
signature.asc
Description: Digital signature