Re: [PATCH] Enable visibility annotations

Yury Gribov <[email protected]>
Newsgroups gmane.comp.gnu.readline,gmane.comp.gdb.devel
Message-ID <[email protected]>
On 04/20/2016 12:22 PM, Pedro Alves wrote:
> On 04/20/2016 07:02 AM, Yury Gribov wrote:
>
>> Pedro,
>>
>> Do you think the above is doable for gdb?
>
> I don't know -- I'm already juggling too many balls in the
> air, and I'm afraid that if that depends on me, it'll take a
> while before I'll manage to try.
>
> Since gdb's use of private symbols is not an isolated incident,
> I don't think we should try to clean up all packages that make
> use of private symbols, in a rush.  Instead, I think readline
> needs to take a staged approach:
>
> - Export all the private symbols that programs are using today.
>    Simply accept today's reality.  The dynamic symbol table of
>    libreadline.so still shrinks, precedent for visibility
>    annotations is still set, and private symbol leakage
>    is contained, because future software will no longer be
>    able to abuse all the other private symbols that are
>    not exported.

Agreed, that's my plan for now.

> - Claim that the symbols may no longer be available in a
>    future release.

You mean just email respective package maintainers?

> - Give time for packages to clean themselves up, and propose
>    any necessary new replacement APIs.

This would require significant expertise in readline though...

> - Optionally, in the release after the next, mark the symbols
>    as deprecated with __attribute__((deprecated)), so packages
>    that abuse private symbols get a build-time warning.

That won't help as these symbols are not present in headers anyway.  All 
users have their own private declarations.

> - In some future release, stop exporting the symbols.
>
>> That would of course leave the
>> problem of linking older gdb with new readline which will need to be
>> resolved by distros.
>
> Right.
>
> Thanks,
> Pedro Alves
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.