Re: 64-bit alignment problems.

2007-09-18 Thread Ken Murchison
Andy Fiddaman wrote: > On Mon, 17 Sep 2007, Ken Murchison wrote: > ; > ; I didn't like the way that the macro looked in the code, so I just typedef'd > ; it instead. Here is my current patch. If it works, I'll commit it. > > Seems fine, no crashes with my test suite. > > Thanks! > > (for the o

Re: 64-bit alignment problems.

2007-09-18 Thread Andy Fiddaman
On Mon, 17 Sep 2007, Ken Murchison wrote: ; ; I didn't like the way that the macro looked in the code, so I just typedef'd ; it instead. Here is my current patch. If it works, I'll commit it. Seems fine, no crashes with my test suite. Thanks! (for the other crash bug in the perl XS, would you

Re: 64-bit alignment problems.

2007-09-17 Thread Ken Murchison
Andy Fiddaman wrote: On Mon, 17 Sep 2007, Ken Murchison wrote: ; Good point. I'm wondering if we need the struct at all, and can just use a ; union. You're right, I've just tested the following and it works fine: #define ALIGNBUF(buf, size) \ union { \ bit64 align8; \

Re: 64-bit alignment problems.

2007-09-17 Thread Andy Fiddaman
On Mon, 17 Sep 2007, Ken Murchison wrote: ; Good point. I'm wondering if we need the struct at all, and can just use a ; union. You're right, I've just tested the following and it works fine: #define ALIGNBUF(buf, size) \ union { \ bit64 align8; \ char buf[(size)]

Re: 64-bit alignment problems.

2007-09-17 Thread Ken Murchison
Andy Fiddaman wrote: > On Fri, 14 Sep 2007, Ken Murchison wrote: > ; This patch tries to force the entire buffer to be aligned, rather than > ; aligning each 64-bit field individually. Don't know if this will work or > not. > > The concept seems to work fine. There are some other places that > t

Re: 64-bit alignment problems.

2007-09-16 Thread Andy Fiddaman
On Fri, 14 Sep 2007, Ken Murchison wrote: ; This patch tries to force the entire buffer to be aligned, rather than ; aligning each 64-bit field individually. Don't know if this will work or not. The concept seems to work fine. There are some other places that the same trick needs to be done - mai

Re: 64-bit alignment problems.

2007-09-14 Thread Andy Fiddaman
On Fri, 14 Sep 2007, Ken Murchison wrote: ; ; Before I commit your patch, would you be willing to see if the attached ; alternate patch works? ; ; This patch tries to force the entire buffer to be aligned, rather than ; aligning each 64-bit field individually. Don't know if this will work or not

Re: 64-bit alignment problems.

2007-09-14 Thread Ken Murchison
Andy Fiddaman wrote: On Fri, 7 Sep 2007, Ken Murchison wrote: ; We have been running 2.3.x code on 64-bit sparcv9 kernels (Solaris 8 on Sun ; Fire V240) without any problem. What is your hardware and OS? The test server is a Sun V210 running SunOS xxx 5.10 Generic_125100-10 sun4u sparc SUNW,Su

Re: 64-bit alignment problems.

2007-09-09 Thread Andy Fiddaman
On Fri, 7 Sep 2007, Ken Murchison wrote: ; We have been running 2.3.x code on 64-bit sparcv9 kernels (Solaris 8 on Sun ; Fire V240) without any problem. What is your hardware and OS? The test server is a Sun V210 running SunOS xxx 5.10 Generic_125100-10 sun4u sparc SUNW,Sun-Fire-V210 (Solaris 1

Re: 64-bit alignment problems.

2007-09-07 Thread Ken Murchison
ve a stable server as far as I can tell > (we have a fairly intensive test suite...) > > In stock 2.3.9 there are quite a few 64-bit alignment problems which cause > BUS errors and a problem with the Perl module XS that causes the imclient > structure to be double freed and there

Re: 64-bit alignment problems.

2007-09-05 Thread Andy Fiddaman
ow up my own post but I've finished testing cyrus 2.3.9 on 64-bit Solaris SPARC and I now have a stable server as far as I can tell (we have a fairly intensive test suite...) In stock 2.3.9 there are quite a few 64-bit alignment problems which cause BUS errors and a problem with the Perl modu

64-bit alignment problems.

2007-09-04 Thread Andy Fiddaman
I'm finally getting around to upgrading my 2.3.7 system to 2.3.9. When I put in 2.3.7 I had to patch a few things to make it work properly on 64-bit SPARC, mainly unaligned dereferences causing BUS faults due to the SPARC MMU. Thankfully 2.3.9 has most of these sorted, mainly through using align_