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

Marek Olšák maraeo at gmail.com
Thu Sep 12 05:52:15 PDT 2013


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

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