http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56726



--- Comment #4 from Chip Salzenberg <chip at pobox dot com> 2013-03-25 22:35:57 
UTC ---

If I'm reading that correctly, it seems to agree with my patch.



It looks like MALLOC_ABI_ALIGNMENT of POINTER_SIZE*2 is always either correct

or smaller than necessary, but never too large.  If MALLOC_ABI_ALIGNMENT is

smaller than necessary then optimizations may be missed (depending on the

values).  But if it is too large then performance *will* suffer.  It might even

cause exceptions from unaligned accesses, but i386 is very forgiving, so it'll

just be slower for no apparent reason.



Perhaps the glibc version differences in malloc should be advertised with

__attribute__ on the malloc declarations.  Perhaps a new pragma or attribute is

required to do this 100% right.  But in the meantime I like POINTER_SIZE*2.

Reply via email to