X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=doc%2Fvisibility.texi;h=881f33aa21cbfa932f86559742e78d2ad1efab89;hb=ea27c6baf761ef00f1f357b1dbf11782bb7deae2;hp=23f07566a6ac41c26bf2bc7ccee8f5e2bdf5b17d;hpb=659635d90ba86841af96fed82c1226ae32e9a2cc;p=gnulib.git diff --git a/doc/visibility.texi b/doc/visibility.texi index 23f07566a..881f33aa2 100644 --- a/doc/visibility.texi +++ b/doc/visibility.texi @@ -1,5 +1,14 @@ @c Documentation of gnulib module 'visibility'. +@c Copyright (C) 2005, 2006 Free Software Foundation, Inc. + +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.2 or +@c any later version published by the Free Software Foundation; with no +@c Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +@c Texts. A copy of the license is included in the ``GNU Free +@c Documentation License'' file as part of this distribution. + This module allows precise control of the symbols exported by a shared library. This is useful because @@ -32,7 +41,7 @@ with the same name in the executable or in a shared library interposed with @code{LD_PRELOAD}.) Whereas a call to a function for which the compiler can assume that it is in the same shared library is just a direct "call" instructions. Similarly for variables: A reference to a global variable -fetches a pointer in the so-called GOT (global offset table); this pointer +fetches a pointer in the so-called GOT (global offset table); this is a pointer to the variable's memory. So the code to access it is two memory load instructions. Whereas for a variable which is known to reside in the same shared library, it is just a direct memory access: one memory load