Here is the bug where elfhack was implemented.  In the comments there
is a link to a blog with details about it.

https://bugzilla.mozilla.org/show_bug.cgi?id=606145


On Fri, Oct 26, 2018 at 6:33 PM Bruce Dubbs via blfs-dev
<blfs-dev@lists.linuxfromscratch.org> wrote:
>
> On 10/26/2018 05:54 PM, Ken Moffat via blfs-dev wrote:
> > I'm slowly getting to a point where I've got the proposed changes
> > for firefox ready (use clang, use gold, drop system icu).
> >
> > What initially concerns me is Douglas's (and fedora 29's) need to
> > use --disable-elf-hack [ and I do not understand why fedora added a
> > patch, if I use --disable-elfhack the configure stage quickly
> > complains, but with --disable-elf-hack the log has no mentions of
> > elfhack so it clearly did get disabled ].
> >
> > Given that Douglas has had many problems on his new machine, I am
> > tempted to say that his problem with python failing in the install
> > seems to be unique to that machine.  And for fedora's problems I can
> > find no details of what architecture(s) were involved, nor how they
> > failed.
> >
> >  From what I can find, elfhack seems to be there to make libxul.so
> > load faster - one report said it saved several hundred milliseconds
> > and also saved several megabytes in the size of libxul.so.  From
> > that, I decided to do real installs of the different configs, and to
> > see how long it took fo a killed firefox (from previous install) to
> > be reloaded (libxul.so gets overwritten as part of the install).
> >
> > I clicked on the firefox menu entry as the seconds in the clock
> > changed, and then after the *Sorry, we're having trouble ..." screen
> > appeared I clicked on restore when the seconds changed.  In all
> > cases the times were "less than two seconds" and "about 1 second".
> > Finally (the version without elfhack was installed) I rebooted, but
> > this time I did not restore and instead went for a new session with
> > just my home page.  Again, the timings were similar.
> >
> > All the builds were on my haswell, from a term limited to 4 cores
> > (4-7, the siblings of 0-3) and the system was otherwise mostly idle
> > apart from xscreensaver.  These are on 8.3, so I was initially using
> > system ICU.  The build with shipped ICU took a bit longer, and was a
> > bit bigger - as expected - but what I did not expect was that
> > disabling the elfhack would also take longer.  However, these are
> > all quicker than the 63.0b14 gcc build where I last used only 4 cores.
> >
> > The gcc build apparently used the bfd linker, with system icu,
> > graphite2, harfbuzz.  The other builds used clang, the gold linker,
> > system graphite2 and harfbuzz.
> >
> > Type          SBU  Build dir  Installed
> > gcc           29.7   9.8 GB    141 MB
> > clang         19.6   8.3 GB    142 MB
> > + shipped icu 21.8   8.5 GB    155 MB
> > + no elf hack 22.6   8.5 GB    162 MB
> >
> > My worry about disabling the elfhack is that (apart from fedora,
> > whose problem might be on a different architecture), no other distro
> > appears to need to do this.  Therefore, I would prefer to keep it.
> >
> > More generally, as the pythonistas and rustaceans take over it seems
> > that using system libraries is generally becoming harder (first sys
> > cairo was dropped, now ICU needs a specific and not-latest version).
> >
> > I almost wonder if we should just drop system libraries and hope that
> > mozilla will fix vulnerabilities in their shipped libs quickly,
> > although past experience over the years suggests not.
>
> I think your approach is good.
>
> Just for info, I did a search for 'elf-hack' and the only place it
> seemed to be used was in toolkit/moz.configure and that set a variable
> USE_ELF_HACK.
>
> Searching for that, the only thing I found that seemed significant was
> in build/unix/moz.build and that sets DIRS += ['elfhack'].
>
>  From there I found build/unix/elfhack/elfhack.cpp
>
> Some of that is dedicated to specific architectures, but from what I can
> tell it is an optimization of relocations when loading dynamic
> libraries.   However I could be completely wrong about that.
>
> Judging from your tests and what most of the main stream distros are
> doing, I suggest we not mention the hack until we have a solid reason to
> do so.
>
>    -- Bruce
>
>
>
>
> --
> http://lists.linuxfromscratch.org/listinfo/blfs-dev
> FAQ: http://www.linuxfromscratch.org/blfs/faq.html
> Unsubscribe: See the above information page
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to