On Tue, 25 Jul 2006 05:25:28 +0200 Roland Mainz wrote:
> I just found
> http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6277643 which
> is about the current Solaris /usr/bin/ksh (a ksh88 derivate).

> The description says this:
> -- snip --
> ksh fails to maintain 8-byte alignment in its "stak" allocator, but
> allocates objects containing long long types from it.  This can cause
> crashes and
> violates the ABI. 
> -- snip --
> I am not sure whether this applies to ksh93/libast or not... can anyone
> who is familar with the libast memory allocator check that, please ?

the ksh88 derivative must have extended the code to typedef number as 'long 
long'
and failed to add 'long long' to the stak alignment union _u_

ksh93 and -last (v)malloc align to ALIGN_BOUND in the generated 
src/lib/libast/align.h
which uses the alignment of a struct that contains the largest int and float 
types
among others -- 16 on sgi, 8 on sparc, 4, on i386

-- Glenn Fowler -- AT&T Research, Florham Park NJ --


Reply via email to