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