summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-10-07 00:23:44 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-10-07 00:23:44 -0700
commit7c5ee88ecb336a2deac1c1b98753f08ef0a2bd1c (patch)
tree10a208e0778b6ca9d376b8c879ff23b28deb1d30 /configure.in
parent21ce8245145810da59c854a172900894f22c175c (diff)
downloademacs-7c5ee88ecb336a2deac1c1b98753f08ef0a2bd1c.tar.gz
emacs-7c5ee88ecb336a2deac1c1b98753f08ef0a2bd1c.tar.bz2
emacs-7c5ee88ecb336a2deac1c1b98753f08ef0a2bd1c.zip
Fix alignment-related core dump during GC.
* 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.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in3
1 files changed, 0 insertions, 3 deletions
diff --git a/configure.in b/configure.in
index b8de80baf5d..57cc4dcded8 100644
--- a/configure.in
+++ b/configure.in
@@ -3663,9 +3663,6 @@ AH_BOTTOM([
/* GC_SETJMP_WORKS is nearly always appropriate for GCC. */
# define GC_SETJMP_WORKS 1
# endif
-# ifndef GC_LISP_OBJECT_ALIGNMENT
-# define GC_LISP_OBJECT_ALIGNMENT (__alignof__ (Lisp_Object))
-# endif
#endif
#endif /* EMACS_CONFIG_H */