[webkit-efl] Symbols visibility

Lucas De Marchi lucas.demarchi at profusion.mobi
Tue Feb 28 04:26:22 PST 2012


Hi Tomasz

On Tue, Feb 28, 2012 at 8:12 AM, Tomasz Morawski <t.morawski at samsung.com> wrote:
> Hi,
> I have noticed that we have started to use linker script(Source/cmake
> /eflsymbols.filter) to control symbols visibility in our EFL WebKit

We started to use? It's there since almost 2 years ago.

> port library. This is a content of this file:
>
> {
>        global:
>                ewk_*;
>
>                extern "C++" {
>                       DumpRenderTreeSupportEfl*;
>                };
>
>        local:
>                *;
> };
>
> Currently all function declaration in export “C” section is exported as
> visible. It does not matter if you add or not add EAPI keyword to
> functions header declaration. They will be exported anyway. The EAPI is
> just a decoration and it could be removed but I am not suggesting this
> solution right now. Moreover, we export a single c++ class and it is visible
> in our c style library symbol which is doubtful! I think we need to decidate

We need to export this "c++ symbol" because of DRT; nothing normal
users should care about.

> how we will control symbols visiblity. I think linker

I'm not saying it cannot be revisited, but this was discussed 2 years
ago. See the corresponding bug in bugzilla, I remember I put some
numbers there. The thing is that we try to hide all symbols that we
can.

> script is not used by any other port and we should not use it.

Have you seen  Source/autotools/symbols.filter ? We are a bit saner
here and we use linker's demangling (that's why we put extern "C++" in
our linker script)


regards,
Lucas De Marchi


More information about the webkit-efl mailing list