CVSROOT:        /cvs
Module name:    src
Changes by:     dera...@cvs.openbsd.org 2010/10/30 09:36:32

Modified files:
        libexec/ld.so  : util.c 

Log message:
fix a 10 year old bug in the memory allocator, which affected only sparc.
sparc has 4 byte long, but needs 8 byte alignment.  recently the DIR
struct was changed to contain some off_t, which needs 8 byte alignment.
turns out the allocator calculated the bias for alignment, and then
subtracted out it's private linkage storage afterwards.  on hppa this
worked because a 8-byte object can be loaded at a 4-byte boundary; on
all other architectures the situation was either 4/4 or 8/8.
thanks for a bit of help from drahn

Reply via email to