On 10 January 2012 16:42, Darrell Anderson <humanreadable@...> wrote:
I understand the distinction between public and private variables and functions. I don't have a grasp about why this gcc visibility thing makes a difference.

Why is enabling this good for me as a builder/packager?

As an end-user?

I get the feeling with hiding the private non shared stuff that executables and libraries are smaller in size, which theoretically reduces load times, which theoretically should improve response on the desktop. But how much?

A layman's explanation is much appreciated. :)


To unsubscribe, e-mail: trinity-users-unsubscribe@...
For additional commands, e-mail: trinity-users-help@...
Read list messsages on the Web archive: http://trinity-users.pearsoncomputing.net/
Please remember not to top-post: http://trinity.pearsoncomputing.net/mailing_lists/#top-posting

10 seconds on google:

from: http://gcc.gnu.org/wiki/Visibility

Put simply, it hides most of the ELF symbols which would have previously (and unnecessarily) been public. This means:

Although the library quoted above is an extreme case, the new visibility support reduced the exported symbol table from > 200,000 symbols to less than 18,000. Some 21Mb was knocked off the binary size as well!