Port --enable-checking=all to Fedora 14 x86.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 30 Sep 2011 03:25:46 +0000 (20:25 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 30 Sep 2011 03:25:46 +0000 (20:25 -0700)
commitcb993c584c8ef91f5352ec9aa97d26fd76cfd643
tree923b3bcb5b390d9b3d5f34e941b29f4d80f13477
parent5f91c1e5303017cad6ed7d7d903440b3328fe7ff
Port --enable-checking=all to Fedora 14 x86.

* alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move to lisp.h.
(xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
(overrun_check_realloc, overrun_check_free):
Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t).
That way, xmalloc returns a properly-aligned pointer even if
XMALLOC_OVERRUN_CHECK is defined.  The old debugging code happened
to align OK on typical 64-bit hosts, but not on Fedora 14 x86.
* charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD
into account when calculating the initial malloc maximum.
* lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move here from alloc.c, so that charset.c can use it too.
Properly align; the old code wasn't right for common 32-bit hosts
when configured with --enable-checking=all.
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
(XMALLOC_OVERRUN_SIZE_SIZE): New macros.
src/ChangeLog
src/alloc.c
src/charset.c
src/lisp.h