emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dumper problems and a possible solutions


From: Rich Felker
Subject: Re: Dumper problems and a possible solutions
Date: Wed, 25 Jun 2014 19:19:45 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Jun 25, 2014 at 07:05:14PM -0400, Stefan Monnier wrote:
> >> - we're still talking about performing relocation of all heap references
> >> during startup (not that it's a problem, of course).  Maybe we don't
> >> need to do it ourselves, but it still has to happen.
> > Indeed. The difference is just between having to write non-portable
> > code that does it manually, and having it happen automatically as
> > consequences of the requirements of the C language.
> 
> The manual code would be fairly normal C code, very similar to the
> mark_object routine.  It shouldn't be noticeably less portable than the
> current pointer<->int conversions we use for tagging purposes.
> 
> Of course, it's always nice when we can use someone else's code, but
> I get the impression that to get the right behavior from the
> compiler/linker/loader we may have to generate a fairly enormous C file
> which will generate an enormous .o file and the resulting binary will
> end up with a humongous relocation table.

For non-PIE emacs, the relocations would only exist in the .o file,
which would only be "enormous" to the extent that the actual data is
(IIRC roughly 11 megs for 32-bit and 16 megs for 64-bit). For PIE,
the relocations are carried over to the executable, but they're all
relative (not symbolic) and thus trivial from a performance
standpoint.

Rich



reply via email to

[Prev in Thread] Current Thread [Next in Thread]