• Paul Eggert's avatar
    Fix alignment-related core dump during GC. · 7c5ee88e
    Paul Eggert authored
    * configure.in (GC_LISP_OBJECT_ALIGNMENT): Remove.
    This is now done by src/alloc.c.
    * src/alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__
    or sizeof.  __alignof__ gives the wrong answer on Fedora x86-64
    with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int;
    this makes Emacs dump core during garbage collection on rare
    occasions.  sizeof is obviously inferior to offsetof here, so
    stick with offsetof.
    (GC_POINTER_ALIGNMENT): New macro.
    (mark_memory): Omit 3rd (offset) arg; caller changed.
    Don't assume EMACS_INT alignment is the same as pointer alignment.
ChangeLog 313 KB