|
From: | Paul Eggert |
Subject: | bug#23529: Request for fixing randomize_va_space build issues |
Date: | Wed, 7 Sep 2016 13:12:27 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
On 09/07/2016 11:11 AM, Eli Zaretskii wrote:
Data that has to be dumped and loaded are accessed through pointers
Sure, but the data contains pointers to other data (and perhaps to code? I haven't checked), and when the pointer-containing data is loaded into a fresh Emacs those pointers need to be relocated appropriately for the new Emacs.
We'd need to plug the compiled data into data structures that support the Lisp interpreter, something which the compiler and linker won't help us.
Ah, but they can! Because Emacs now assumes the LSB representation, Emacs objects now encapsulate pointers simply by adding a constant to them. All C compilers and linkers support that, even for addresses defined by other compilation units.
[Prev in Thread] | Current Thread | [Next in Thread] |