On Fri, 21 May 2004, James Lee wrote:

> aspell-0.60-20040511 fails on Sparc architecture (big endian). The 
> failure occurs here when building the dictionaries:
> 
> #0  0xff228bac in (anonymous 
> namespace)::create(acommon::StringEnumeration*, aspeller::Language 
> const&, acommon::Config&) (els=0x5e6f0, [EMAIL PROTECTED], [EMAIL PROTECTED]) 
> at modules/speller/default/readonly_ws.cpp:855
> #1  0xff229f34 in 
> aspeller::create_default_readonly_dict(acommon::StringEnumeration*, 
> acommon::Config&) (els=0x5e6f0, [EMAIL PROTECTED]) at 
> modules/speller/default/readonly_ws.cpp:1107
> #2  0x00029efc in master() () at prog/aspell.cpp:1333
> 
> 
> The problem is the misalignment of 'b' as produced 2 lines above by:
>           WordData * b = (WordData *)buf.alloc(total_size);
> 
> A simple workaround which so far has allowed aspell to run is to modify 
> ObjStack alloc(size_t size) to align to a 4 byte boundary:

But memory ineffect (in the case of very short strings).  Also won't work 
on 64 bit platforms.  Best to modify the above statement to:
  WordData * b = (WordData *)buf.alloc(total_size, sizeof(void *));

-- 
http://kevin.atkinson.dhs.org



_______________________________________________
Aspell-devel mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/aspell-devel

Reply via email to