[ksh93-integration-discuss] Re: [ast-users] ksh(88|93)/libast and memory alignment...

Glenn Fowler gsf at research.att.com
Mon Jul 24 20:47:22 PDT 2006


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 --




More information about the ksh93-integration-discuss mailing list