Re: A cheap performance optimization



On Fri, 2005-01-07 at 11:15 -0500, Matthias Clasen wrote:
> On Fri, 2005-01-07 at 15:43 +0000, Bastien Nocera wrote:
> > On Fri, 2005-01-07 at 10:42 -0500, Matthias Clasen wrote:
> > > One of the compiler people here at RedHat complained to me that most of
> > > Gnome is linked with --export-dynamic, which really bloats both the size
> > > and the load times (although prelink may alleviate that a bit). The ld
> > > documentation contains exact details about when --export-dynamic is
> > > needed, but it is never needed for libraries, and in most cases, it is
> > > not needed for apps either. 
> > > 
> > > Currently, most of Gnome gets --export-dynamic from gmodule-2.0.pc,
> > > which is required by many libraries. Fortunately, with GLib 2.6, fixing
> > > this is as easy as requiring gmodule-no-export-2.0.pc instead of
> > > gmodule-2.0.pc. For completeness, I just added gmodule-export-2.0.pc as
> > > well.
> > > 
> > > It would be a nice goal for Gnome 2.10 to replace all uses of
> > > gmodule-2.0.pc by either gmodule-no-export-2.0.pc or gmodule-
> > > export-2.0.pc (I guess the latter will be rarely needed).
> > 
> > Wasn't this needed to be able to use custom widget creation functions
> > with libglade?
> 
> >From reading the ld docs, it should only be necessary if a dlopened
> module wants to use a symbol defined in the executable. The custom
> widget creation functions probably live in the executable, but libglade
> isn't normally dlopened, is it ?

It is required for libglade to get a pointer to a function that it knows
the name of as a string from the glade file (ie.
glade_xml_signal_autoconnect) that is defined in the executable, even
when libglade is linked to normally (using ld, not dlopen).

Don't know why or anything about it, but I have used libglade in the
past.

-- 
Andrew




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