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: Thu, 14 Apr 2016 16:14:24 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

On 04/14/2016 04:10 PM, Mike Frysinger wrote:
On 14 Apr 2016 15:28, Yury Gribov wrote:
On 04/14/2016 01:47 PM, Pedro Alves wrote:
On 04/14/2016 07:45 AM, Yury Gribov wrote:
These two patches add visibility annotations to readline's public
functions and also enable -fvisibility=hidden on platforms where it's
available.

This results in 9% size decrease (279K -> 254K) and 45% export symbols
reduction (655 -> 398) for libreadline on x86_64.

The autoconf hunk is similar to one that I've recently submitted to
X.org's libICE, hope there's no licensing problem about this.

Is this ok for trunk?

FYI, this is probably doing to break (at least) gdb against system
readline.  gdb relies on accessing a few private readline symbols...  :-/

E.g.:

tui/tui-io.c:437:  extern int _rl_echoing_p;
completer.c:1677:  extern int _rl_complete_mark_directories;
completer.c:1770:extern int _rl_completion_prefix_display_length;
completer.c:1771:extern int _rl_print_completions_horizontally;

Unless/until someone fixes these and adds the missing public APIs
to readline, I think distros will need to either back off this
patch, or build gdb against a static readline, which they'd rather
not (at least Fedora doesn't want that).

We may need a configure option as workaround, or perhaps export
the _rl_foo symbols as well...

Thanks, this sounds as a general problem with visibility enabling.  Is
there some (relatively straightforward) way to find all used symbols?
I'm afraid there'll be more than just _rl_*...

just build gdb w/system readline enabled and see if it works :)

GDB - yes, sure but I'm more worried about other packages that silently use non-public readline symbols...

-Y




reply via email to

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