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

Christian König deathsimple at vodafone.de
Thu Sep 12 06:32:58 PDT 2013


Am 12.09.2013 14:52, 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

Yes that's indeed the right way of doing it, feel free to make the 
changes Chia-l Wu suggested to avoid the version file and commit the 
patch with my rb.

Christian.

> 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