Jeff Trawick wrote:

>Aaron Bannert <[EMAIL PROTECTED]> writes:
>
>>Could this be what's causing the SIGBUS? My current theory is that
>>there's a size mismatch betwen ws->conn_bytes (an apr_off_t) and
>>the (unsigned long) that only shows up on word-alignment-picky
>>chips like sparcs.
>>
>
>I'm bombing today on Solaris/sparc trying to do
>
>  ap_scoreboard_image->global->restart_time = apr_time_now()
>
>That field lives at 0x14 from the start of the page.  I would suppose
>that there are alignment requirements that we aren't maintaining.
>ap_scoreboard_image->global is at 0x4 from the start of the page.
>Does anybody know about any documentation on alignment requirements?
>Should the shared memory code return storage on 8-byte alignment?
>

I know that it needs to be at least aligned on a 4-byte multiple.
Reading a 32-bit value from an address not divisible by 4 definitely
causes SIGBUS on Sparcs.  For a 64-bit object, I *think* Sparcs need
8-byte alignment, but I'm not positive.

--Brian


Reply via email to