mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
Port to 32-bit sparc64
Backport from master. Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii and Andreas Schwab (Bug#30855). * src/alloc.c (mark_memory): Call mark_maybe_object only on pointers that are properly aligned for Lisp_Object.
This commit is contained in:
parent
23527013c7
commit
d09c488cb5
@ -4983,7 +4983,11 @@ mark_memory (void *start, void *end)
|
||||
for (pp = start; (void *) pp < end; pp += GC_POINTER_ALIGNMENT)
|
||||
{
|
||||
mark_maybe_pointer (*(void **) pp);
|
||||
mark_maybe_object (*(Lisp_Object *) pp);
|
||||
|
||||
verify (alignof (Lisp_Object) % GC_POINTER_ALIGNMENT == 0);
|
||||
if (alignof (Lisp_Object) == GC_POINTER_ALIGNMENT
|
||||
|| (uintptr_t) pp % alignof (Lisp_Object) == 0)
|
||||
mark_maybe_object (*(Lisp_Object *) pp);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user