bug-readline
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-readline] [PATCH] Enable visibility annotations


From: Yury Gribov
Subject: Re: [Bug-readline] [PATCH] Enable visibility annotations
Date: Wed, 20 Apr 2016 12:45:32 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]