[Mesa-dev] Please test the automake-gallium4 branch
Andreas Boll
andreas.boll.dev at gmail.com
Mon Dec 3 12:57:51 PST 2012
2012/12/3 Emil Velikov <emil.l.velikov at gmail.com>:
> On 03/12/12 01:42, Marek Olšák wrote:
>> On Mon, Dec 3, 2012 at 2:30 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>> On 03/12/12 00:15, Marek Olšák wrote:
>>>> On Sun, Dec 2, 2012 at 9:48 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
snip
>>>>> Hi Andreas
>>>>>
>>>>> I've been testing the branch for a few days now and apart from the
>>>>> increased number of symbols [1] I have not noticed any issues
>>>>>
>>>>> * Hardware - nvidia geforce GT 120M (nv96)
>>>>> * Drivers - nv50
>>>>> * State trackers - Mesa/Gallium (OpenGL)
>>>>>
>>>>> The following have also been built but not tested (yet)
>>>>> * egl, gles1,2, gbm, vdpau
>>>>>
>>>>> [1] The number and type of symbols varies greatly. The following are
>>>>> mostly affected
>>>>
>>>> How exactly does it vary? AFAIK the current build system uses a gcc or
>>>> linker flag to hide most of the symbols.
>>>
>>> A nice example is swrast_dri.so (oops forgot to mention it)
>>> 215 vs 1962 is the count of dynamic symbols before and after automake
>>>
>>> A brief list of the new symbols
>>>
>>> D *UND* 0000000000000000 _glapi_set_dispatch
>>> D *UND* 0000000000000000 _glapi_tls_Dispatch
>>> + g DF .text 0000000000000002 Base draw_create
>>> + g DO .data.rel.ro 00000000000000d8 Base
>>> util_format_l32_uint_description
>>> + g DF .text 0000000000000105 Base
>>> util_format_dxt1_rgb_unpack_rgba_8unorm
>>> + g DO .data.rel.ro 00000000000000d8 Base
>>> util_format_r8g8b8a8_uscaled_description
>>> + g DF .text 00000000000000a5 Base trace_dump_ret_end
>>> + g DF .text 000000000000006c Base ppc_comment
>>> + g DF .text 00000000000000ff Base draw_pipeline_run_linear
>>> + g DF .text 000000000000119a Base u_index_init
>>> + g DF .text 0000000000000081 Base x87_fsubp
>>>
>>> I can provide more info but not too sure where to start
>>> * compiler
>>> * linker
>>> * build flags...
>>
>> Try -fvisibility=hidden. The flag is very important for linux
>> distributions, because it makes the libs smaller.
>>
>> configure.ac sets it. I think the automake build system ignores it,
>> which is a bug.
>>
This issue is known to me.
I've got a WIP patch for that, but I think this issue isn't a blocker.
As long as it doesn't break the build or some functionality,
I think this can wait until after the branch has been merged.
>
> Major improvement, although some interesting symbols appeared
>
> swrast_dri.so: cff4c94 vs 02d36a2 (with -fvisibility=hidden)
>
> ...
> 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 exp
> +0000000000000000 DF *UND* 0000000000000000 GLIBC_2.3.2
> pthread_cond_destroy
> +0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 sincosf
> 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 atan2
> ...
> 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 puts
> +0000000000000000 DF *UND* 0000000000000000 GLIBC_2.3.2
> pthread_cond_signal
> 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 log2f
> ...
> 0000000000000000 D *UND* 0000000000000000
> _glapi_get_proc_address
> +0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 sched_yield
> 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.3.4 __memcpy_chk
> ...
> 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.3.4 __strncat_chk
> +0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 log
> 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 logf
> 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 strtod
> 0000000000000000 DO *UND* 0000000000000000 GLIBC_2.2.5 stdout
> +0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 _IO_putc
> 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 fflush
> 0000000000000000 D *UND* 0000000000000000
> _glapi_tls_Dispatch
> -000000000020fb40 g DF .text 0000000000002794 Base glcpp_lex
> -000000000020f0e0 g DF .text 0000000000000008 Base glcpp_set_lval
> -000000000020f110 g DF .text 0000000000000005 Base glcpp_alloc
>
> AFAIK the lack of glcpp_* should not cause any issues. I'm a bit curious
> what caused sched_yield and pthread_cond_* to pop in. Either case I will
> give a bit of love to see if any issues do arise
>
> Andreas
> I have noticed that some of the latest egl-static patches caused
> egl_gallium.so to disappear(?). Not too sure is it the Arch way of
> packaging or genuine issue. I'll investigate as time permits
>
OK I've reverted that patch for now.
targets/egl-static definitely needs more investigation.
Thanks,
Andreas.
More information about the mesa-dev
mailing list