[Mesa-dev] The long way to a faster build with shared libs and some fixes ...

Johannes Obermayr johannesobermayr at gmx.de
Thu Sep 12 05:59:35 PDT 2013


Am Donnerstag, 12. September 2013, 14:52:15 schrieb Marek Olšák:
> I think current Gallium drivers only need one exported symbol to work:
> __driDriverExtensions. See:
> http://lists.freedesktop.org/archives/mesa-dev/2013-August/043038.html
> 
> Marek

readelf -s usr/lib64/dri/radeonsi_dri.so 

master:
Symbol table '.dynsym' contains 556 entries:

after patch series:
Symbol table '.dynsym' contains 153 entries:

> 
> On Thu, Sep 12, 2013 at 2:41 PM, Johannes Obermayr
> <johannesobermayr at gmx.de> wrote:
> > I see current situation is better:
> >
> > Symbol table '.dynsym' contains ...
> >
> > master:
> >
> > libdricore:     3675
> > i965_dri:        398
> >
> >
> > after [PATCH 10/21]:
> >
> > classic drivers:
> > libmesacore:     839
> > libmesadri:      348
> > total:          1187
> > i965_dri:        397
> >
> > gallium drivers:
> > libgallium:      833
> > libmesacore:     839
> > libmesagallium:  360
> > total:          2032
> >
> > Complaining about the weather instead of opening the shutter to see the sun.
> >
> > Am Donnerstag, 12. September 2013, 00:44:58 schrieb Kenneth Graunke:
> >> On 09/11/2013 11:41 PM, Christian König wrote:
> >> > I completely agree.
> >> >
> >> > Building everything shared might speed up the build process a little bit
> >> > and save some space, but for the cost of having to handle allot of
> >> > rather small shared libraries where which each clashing the symbol space
> >> > of any application using these drivers with a bunch of unnecessary symbols.
> >> >
> >> > Building everything as one big blob sounds like the better idea.
> >> >
> >> > Christian.
> >>
> >> Not to mention...installing a ton of shared libraries is just asking for
> >> version mismatch problems.  I've had a /ton/ of problems due to
> >> mismatching libdricore and i965_dri.so...usually due to rpath shenanigans.
> >>
> >> If anything, I'd like to get rid of libdricore and build core Mesa and
> >> the drivers together again.  No more version clashes.  Far fewer symbols
> >> exported.  LTO for extra performance with no extra effort...
> >>
> >> Faster build times are nice, but...not if it means shipping a ton of
> >> shared libraries...
> >>
> >> --Ken


More information about the mesa-dev mailing list