[quake3] Re: Quake3 client + server on Solaris/Sparc

Laurent Desnogues laurent.desnogues at wanadoo.fr
Fri Nov 11 05:14:11 EST 2005


vincent at cojot.name wrote:
> On Thu, 10 Nov 2005, Laurent Desnogues wrote:
> 
> Hi Laurent,
> 
>>> It died inside the botlib initialization. Purify shows 'MAW' 
>>> (Misaligned Memory Write) just before the crash. I got the following 
>>> trace but I cannot make anything of it:
>>>
>>>       MAW: Misaligned memory write
>>>       This is occurring while in:
>>>             PC_ClearTokenWhiteSpace [l_precomp.c:1103]
>>>                void PC_ClearTokenWhiteSpace(token_t *token)
>>>                {
>>>                        token->whitespace_p = NULL;
>>>             =>         token->endwhitespace_p = NULL;
>>>                        token->linescrossed = 0;
>>>                } //end of the function PC_ClearTokenWhiteSpace
>>
>>
>> I think you can launch a debugger when Purify finds
>> such a problem (never tried, but saw it documented).
>>
>> Anyway the problem here is that the offset into the
>> aligned block is a multiple of 4 and not of 8 and
>> you are compiling in 64 bit mode (could you try in
>> 32 bit mode?).
> 
> 
> That's the problem.. I'm -not- trying to compile with -m64, I compiling 
> with -m32, of course..

Ha...  Anyway my hypothesis about the memory not
being aligned may still hold:  gcc is trying to
clear memory 64 bits at a time ("Misaligned write
of 8 bytes" as Purify says).

Could you provide the assembly listing of
PC_ClearTokenWhiteSpace?  Either gdb output or
the result of gcc -S.


		Laurent





More information about the quake3 mailing list