Subject: bug#23529: Request for fixing randomize_va_space build issues

From: Paul Eggert <[email-masked]>
Date: Sat, 10 Sep 2016 16:01:28 -0700

Eli Zaretskii wrote:

> Conservative stack marking is for Lisp objects held in variables on
> the stack.  Those objects cannot be relevant to dumping

Yes, but the conservativeness of the marking phase means Emacs cannot relocate 
objects. This is true regardless of whether the objects-that-can't-be-moved 
reside on the stack or on the heap.

> If mainline libc allows such control on its memory
> allocation back-end, it is better to use that than rely on our own
> replacement allocator.

Although that might be better than what we're doing, better yet would be to not 
fiddle with such internal details of malloc at all.

> What about disabling randomization for the temacs run?

That is yet another low-level thing to configure, and to get right in new ports. 
The approach I'm suggesting does not rely on disabling randomization.

> I don't think we do that in code that runs in temacs.

This point is a tangent to its containing thread, as the thread in question is 
about whether compilers and linkers can relocate pointers for us. The code 
example establishes that compilers and linkers can do so, regardless of whether 
Emacs is using that capability now.