abi.html: Document effect of -fabi-version on value of __GXX_ABI_VERSION...
2004-05-13 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/abi.html: Document effect of -fabi-version on value of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c. Fix markup. From-SVN: r81794
This commit is contained in:
parent
520f0c4803
commit
d7f3083354
@ -1,3 +1,9 @@
|
|||||||
|
2004-05-13 Jonathan Wakely <redi@gcc.gnu.org>
|
||||||
|
|
||||||
|
* docs/html/abi.html: Document effect of -fabi-version on value
|
||||||
|
of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
|
||||||
|
Fix markup.
|
||||||
|
|
||||||
2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
|
2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
|
|
||||||
PR libstdc++/15074
|
PR libstdc++/15074
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
<!-- ####################################################### -->
|
<!-- ####################################################### -->
|
||||||
<hr />
|
<hr />
|
||||||
<h3 class="left">
|
<h3 class="left">
|
||||||
<a name="C++interface">The C++ interface</a>
|
<a name="CXXinterface">The C++ interface</a>
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<p> C++ applications often dependent on specific language support
|
<p> C++ applications often dependent on specific language support
|
||||||
@ -101,7 +101,7 @@ given compiler ABI. In a nutshell:
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h3 class="left">
|
<h3 class="left">
|
||||||
<a name="ABI versioning">Versioning</a>
|
<a name="ABI_versioning">Versioning</a>
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<p> The C++ interface has evolved throughout the history of the GNU
|
<p> The C++ interface has evolved throughout the history of the GNU
|
||||||
@ -170,8 +170,8 @@ on ELF systems).</p>
|
|||||||
<li>gcc-3.3.3: libgcc_s.so.1</li>
|
<li>gcc-3.3.3: libgcc_s.so.1</li>
|
||||||
<li>gcc-3.4.0: libgcc_s.so.1</li>
|
<li>gcc-3.4.0: libgcc_s.so.1</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>Release versioning on the libstdc++.so binary, implemented in the same was as the libgcc_s.so binary, above.
|
<li>Release versioning on the libstdc++.so binary, implemented in the same was as the libgcc_s.so binary, above.
|
||||||
|
|
||||||
@ -195,8 +195,8 @@ on ELF systems).</p>
|
|||||||
<li>gcc-3.3.3: libstdc++.so.5.0.5</li>
|
<li>gcc-3.3.3: libstdc++.so.5.0.5</li>
|
||||||
<li>gcc-3.4.0: libstdc++.so.6.0.0</li>
|
<li>gcc-3.4.0: libstdc++.so.6.0.0</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>Symbol versioning on the libgcc_s.so binary.
|
<li>Symbol versioning on the libgcc_s.so binary.
|
||||||
<p>mapfile: gcc/libgcc-std.ver</p>
|
<p>mapfile: gcc/libgcc-std.ver</p>
|
||||||
@ -220,8 +220,8 @@ on ELF systems).</p>
|
|||||||
<li>gcc-3.3.3: GCC_3.0</li>
|
<li>gcc-3.3.3: GCC_3.0</li>
|
||||||
<li>gcc-3.4.0: GCC_3.0</li>
|
<li>gcc-3.4.0: GCC_3.0</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>Symbol versioning on the libstdc++.so binary.
|
<li>Symbol versioning on the libstdc++.so binary.
|
||||||
|
|
||||||
@ -254,8 +254,8 @@ on ELF systems).</p>
|
|||||||
<li>gcc-3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1</li>
|
<li>gcc-3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1</li>
|
||||||
<li>gcc-3.4.0: GLIBCXX_3.4, CXXABI_1.3</li>
|
<li>gcc-3.4.0: GLIBCXX_3.4, CXXABI_1.3</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<p>Incremental bumping of a compiler pre-defined macro,
|
<p>Incremental bumping of a compiler pre-defined macro,
|
||||||
@ -266,22 +266,26 @@ on ELF systems).</p>
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
This macro is defined in the file "lang-specs.h" in the gcc/cp directory.
|
This macro was defined in the file "lang-specs.h" in the gcc/cp directory.
|
||||||
Later versions define it in "c-common.c" in the gcc directory.
|
Later versions defined it in "c-common.c" in the gcc directory, and from
|
||||||
|
G++ 3.4 it is defined in c-cppbuiltin.c and its value determined by the
|
||||||
|
'-fabi-version' command line option.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
It is versioned as follows:
|
It is versioned as follows, where 'n' is given by '-fabi-version=n':
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>gcc-3.0.x: 100</li>
|
<li>gcc-3.0.x: 100</li>
|
||||||
<li>gcc-3.1.x: 100 (Error, should be 101)</li>
|
<li>gcc-3.1.x: 100 (Error, should be 101)</li>
|
||||||
<li>gcc-3.2.x: 102</li>
|
<li>gcc-3.2.x: 102</li>
|
||||||
<li>gcc-3.3.x: 102</li>
|
<li>gcc-3.3.x: 102</li>
|
||||||
<li>gcc-3.4.x: 1002</li>
|
<li>gcc-3.4.x: 102 (when n=1)</li>
|
||||||
|
<li>gcc-3.4.x: 1000+n (when n>1)</li>
|
||||||
|
<li>gcc-3.4.x: 999999 (when n=0)</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<p>Changes to the default compiler option for
|
<p>Changes to the default compiler option for
|
||||||
@ -297,8 +301,8 @@ on ELF systems).</p>
|
|||||||
<li>gcc-3.3.x: <code>-fabi-version=1</code></li>
|
<li>gcc-3.3.x: <code>-fabi-version=1</code></li>
|
||||||
<li>gcc-3.4.x: <code>-fabi-version=2</code></li>
|
<li>gcc-3.4.x: <code>-fabi-version=2</code></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<p>Incremental bumping of a library pre-defined macro. For releases
|
<p>Incremental bumping of a library pre-defined macro. For releases
|
||||||
@ -335,8 +339,8 @@ on ELF systems).</p>
|
|||||||
<li>gcc-3.3.3: 20040214</li>
|
<li>gcc-3.3.3: 20040214</li>
|
||||||
<li>gcc-3.4.0: 20040419</li>
|
<li>gcc-3.4.0: 20040419</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
@ -344,7 +348,8 @@ on ELF systems).</p>
|
|||||||
Incremental bumping of a library pre-defined macro,
|
Incremental bumping of a library pre-defined macro,
|
||||||
_GLIBCPP_VERSION. This macro is defined as the released version of
|
_GLIBCPP_VERSION. This macro is defined as the released version of
|
||||||
the library, as a string literal. This is only implemented in
|
the library, as a string literal. This is only implemented in
|
||||||
gcc-3.1.0 releases and higher, and is deprecated in 3.4.
|
gcc-3.1.0 releases and higher, and is deprecated in 3.4 (where it
|
||||||
|
is called _GLIBCXX_VERSION).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -375,8 +380,8 @@ on ELF systems).</p>
|
|||||||
<li>gcc-3.3.3: "3.3.3"</li>
|
<li>gcc-3.3.3: "3.3.3"</li>
|
||||||
<li>gcc-3.4.0: "version-unused"</li>
|
<li>gcc-3.4.0: "version-unused"</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<p>
|
<p>
|
||||||
@ -389,7 +394,7 @@ on ELF systems).</p>
|
|||||||
directory hierarchy corresponding to the C++ compiler's released
|
directory hierarchy corresponding to the C++ compiler's released
|
||||||
version. This version corresponds to the variable "gcc_version" in
|
version. This version corresponds to the variable "gcc_version" in
|
||||||
"libstdc++-v3/acinclude.m4," and more details can be found in that
|
"libstdc++-v3/acinclude.m4," and more details can be found in that
|
||||||
file's macro GLIBCPP_CONFIGURE.
|
file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before gcc-3.4.0).
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
C++ includes are versioned as follows:
|
C++ includes are versioned as follows:
|
||||||
@ -412,8 +417,8 @@ on ELF systems).</p>
|
|||||||
<li>gcc-3.3.3: include/c++/3.3.3</li>
|
<li>gcc-3.3.3: include/c++/3.3.3</li>
|
||||||
<li>gcc-3.4.0: include/c++/3.4.0</li>
|
<li>gcc-3.4.0: include/c++/3.4.0</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
Taken together, these techniques can accurately specify interface
|
Taken together, these techniques can accurately specify interface
|
||||||
@ -457,7 +462,7 @@ on ELF systems).</p>
|
|||||||
impact versioning and compatibility.
|
impact versioning and compatibility.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</p>
|
<p>
|
||||||
For more information on configure options, including ABI impacts, see:
|
For more information on configure options, including ABI impacts, see:
|
||||||
http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html
|
http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html
|
||||||
</p>
|
</p>
|
||||||
@ -507,11 +512,11 @@ int main()
|
|||||||
%g++ hello.cc -o hello.out
|
%g++ hello.cc -o hello.out
|
||||||
|
|
||||||
%ldd hello.out
|
%ldd hello.out
|
||||||
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x00764000)
|
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x00764000)
|
||||||
libm.so.6 => /lib/tls/libm.so.6 (0x004a8000)
|
libm.so.6 => /lib/tls/libm.so.6 (0x004a8000)
|
||||||
libgcc_s.so.1 => /mnt/hd/bld/gcc/gcc/libgcc_s.so.1 (0x40016000)
|
libgcc_s.so.1 => /mnt/hd/bld/gcc/gcc/libgcc_s.so.1 (0x40016000)
|
||||||
libc.so.6 => /lib/tls/libc.so.6 (0x0036d000)
|
libc.so.6 => /lib/tls/libc.so.6 (0x0036d000)
|
||||||
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00355000)
|
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00355000)
|
||||||
|
|
||||||
%nm hello.out
|
%nm hello.out
|
||||||
</pre>
|
</pre>
|
||||||
@ -524,7 +529,7 @@ of the name, then the executable is versioned. Here's an example:
|
|||||||
<code> U _ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4 </code>
|
<code> U _ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4 </code>
|
||||||
|
|
||||||
<h3 class="left">
|
<h3 class="left">
|
||||||
<a name="ABI allowed">Library allowed ABI changes</a>
|
<a name="ABI_allowed">Library allowed ABI changes</a>
|
||||||
</h3>
|
</h3>
|
||||||
<p>
|
<p>
|
||||||
The following will cause the library minor version number to
|
The following will cause the library minor version number to
|
||||||
@ -543,7 +548,7 @@ Other allowed changes are possible.
|
|||||||
|
|
||||||
|
|
||||||
<h3 class="left">
|
<h3 class="left">
|
||||||
<a name="ABI disallowed">Library disallowed ABI changes</a>
|
<a name="ABI_disallowed">Library disallowed ABI changes</a>
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -574,24 +579,24 @@ number to increase, say from "libstdc++.so.3.0.4" to
|
|||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Separation of interface and implementation</li>
|
<li>Separation of interface and implementation
|
||||||
<p>This is accomplished by two techniques that separate the API from
|
<p>This is accomplished by two techniques that separate the API from
|
||||||
the ABI: forcing undefined references to link against a library binary
|
the ABI: forcing undefined references to link against a library binary
|
||||||
for definitions.
|
for definitions.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul>
|
<dl>
|
||||||
<li>Include files have declarations, source files have defines</li>
|
<dt>Include files have declarations, source files have defines</dt>
|
||||||
|
|
||||||
<p> For non-templatized types, such as much of <code>class
|
<dd> For non-templatized types, such as much of <code>class
|
||||||
locale</code>, the appropriate standard C++ include, say
|
locale</code>, the appropriate standard C++ include, say
|
||||||
<code>locale</code>, can contain full declarations, while various
|
<code>locale</code>, can contain full declarations, while various
|
||||||
source files (say <code> locale.cc, locale_init.cc,
|
source files (say <code> locale.cc, locale_init.cc,
|
||||||
localename.cc</code>) contain definitions.</p>
|
localename.cc</code>) contain definitions.</dd>
|
||||||
|
|
||||||
<li>Extern template on required types</li>
|
<dt>Extern template on required types</dt>
|
||||||
|
|
||||||
<p>For parts of the standard that have an explicit list of required
|
<dd>For parts of the standard that have an explicit list of required
|
||||||
instantiations, the GNU extension syntax <code> extern template
|
instantiations, the GNU extension syntax <code> extern template
|
||||||
</code> can be used to control where template definitions
|
</code> can be used to control where template definitions
|
||||||
reside. By marking required instantiations as <code> extern
|
reside. By marking required instantiations as <code> extern
|
||||||
@ -601,14 +606,15 @@ localename.cc</code>) contain definitions.</p>
|
|||||||
on parts of the standard that require <code> char</code> and <code>
|
on parts of the standard that require <code> char</code> and <code>
|
||||||
wchar_t</code> instantiations, and includes <code>
|
wchar_t</code> instantiations, and includes <code>
|
||||||
basic_string</code>, the locale facets, and the types in <code>
|
basic_string</code>, the locale facets, and the types in <code>
|
||||||
iostreams</code>.</p>
|
iostreams</code>.</dd>
|
||||||
|
|
||||||
</ul>
|
</dl>
|
||||||
<p> In addition, these techniques have the additional benefit that
|
<p> In addition, these techniques have the additional benefit that
|
||||||
they reduce binary size, which can increase runtime performance.
|
they reduce binary size, which can increase runtime performance.
|
||||||
</p>
|
</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>Namespaces linking symbol definitions to export mapfiles</li>
|
<li>Namespaces linking symbol definitions to export mapfiles
|
||||||
|
|
||||||
<p>All symbols in the shared library binary are processed by a linker
|
<p>All symbols in the shared library binary are processed by a linker
|
||||||
script at build time that either allows or disallows external
|
script at build time that either allows or disallows external
|
||||||
@ -623,34 +629,37 @@ impacting ABI compatibility.
|
|||||||
|
|
||||||
<p>The following namespaces are transformed by the mapfile:</p>
|
<p>The following namespaces are transformed by the mapfile:</p>
|
||||||
|
|
||||||
<ul>
|
<dl>
|
||||||
<li><code>namespace std</code></li>
|
<dt><code>namespace std</code></dt>
|
||||||
<p> Defaults to exporting all symbols in label
|
<dd> Defaults to exporting all symbols in label
|
||||||
<code>GLIBCXX</code> that do not begin with an underscore, ie
|
<code>GLIBCXX</code> that do not begin with an underscore, ie
|
||||||
<code>__test_func</code> would not be exported by default. Select
|
<code>__test_func</code> would not be exported by default. Select
|
||||||
exceptional symbols are allowed to be visible.</p>
|
exceptional symbols are allowed to be visible.</dd>
|
||||||
|
|
||||||
<li><code>namespace __gnu_cxx</code></li>
|
<dt><code>namespace __gnu_cxx</code></dt>
|
||||||
<p> Defaults to not exporting any symbols in label
|
<dd> Defaults to not exporting any symbols in label
|
||||||
<code>GLIBCXX</code>, select items are allowed to be visible.</p>
|
<code>GLIBCXX</code>, select items are allowed to be visible.</dd>
|
||||||
|
|
||||||
<li><code>namespace __gnu_internal</code></li>
|
<dt><code>namespace __gnu_internal</code></dt>
|
||||||
<p> Defaults to not exported, no items are allowed to be visible.</p>
|
<dd> Defaults to not exported, no items are allowed to be visible.</dd>
|
||||||
|
|
||||||
<li><code>namespace __cxxabiv1</code>, aliased to <code> namespace abi</code></li>
|
<dt><code>namespace __cxxabiv1</code>, aliased to <code> namespace abi</code></dt>
|
||||||
<p> Defaults to not exporting any symbols in label
|
<dd> Defaults to not exporting any symbols in label
|
||||||
<code>CXXABI</code>, select items are allowed to be visible.</p>
|
<code>CXXABI</code>, select items are allowed to be visible.</dd>
|
||||||
</ul>
|
</dl>
|
||||||
<p>
|
<p>
|
||||||
</p>
|
</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>Freezing the API</li>
|
<li>Freezing the API
|
||||||
<p>Disallowed changes, as above, are not made on a stable release
|
<p>Disallowed changes, as above, are not made on a stable release
|
||||||
branch. Enforcement tends to be less strict with GNU extensions that
|
branch. Enforcement tends to be less strict with GNU extensions that
|
||||||
standard includes.</p> </ul>
|
standard includes.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<h3 class="left">
|
<h3 class="left">
|
||||||
<a name="ABI testing">Testing ABI changes</a>
|
<a name="ABI_testing">Testing ABI changes</a>
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -743,7 +752,7 @@ us. We'd like to know about them!
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h3 class="left">
|
<h3 class="left">
|
||||||
<a name="ABI multi testing">Testing Multi-ABI binaries</a>
|
<a name="ABI_multi_testing">Testing Multi-ABI binaries</a>
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -784,18 +793,18 @@ exceptions, locale, etc.
|
|||||||
<p> ...with the resulting libraries looking like </p>
|
<p> ...with the resulting libraries looking like </p>
|
||||||
<pre>
|
<pre>
|
||||||
%ldd libone.so.1.0.0
|
%ldd libone.so.1.0.0
|
||||||
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x40016000)
|
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x40016000)
|
||||||
libm.so.6 => /lib/tls/libm.so.6 (0x400fa000)
|
libm.so.6 => /lib/tls/libm.so.6 (0x400fa000)
|
||||||
libgcc_s.so.1 => /mnt/hd/bld/gcc/gcc/libgcc_s.so.1 (0x4011c000)
|
libgcc_s.so.1 => /mnt/hd/bld/gcc/gcc/libgcc_s.so.1 (0x4011c000)
|
||||||
libc.so.6 => /lib/tls/libc.so.6 (0x40125000)
|
libc.so.6 => /lib/tls/libc.so.6 (0x40125000)
|
||||||
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00355000)
|
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00355000)
|
||||||
|
|
||||||
%ldd libtwo.so.1.0.0
|
%ldd libtwo.so.1.0.0
|
||||||
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40027000)
|
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40027000)
|
||||||
libm.so.6 => /lib/tls/libm.so.6 (0x400e1000)
|
libm.so.6 => /lib/tls/libm.so.6 (0x400e1000)
|
||||||
libgcc_s.so.1 => /mnt/hd/bld/gcc/gcc/libgcc_s.so.1 (0x40103000)
|
libgcc_s.so.1 => /mnt/hd/bld/gcc/gcc/libgcc_s.so.1 (0x40103000)
|
||||||
libc.so.6 => /lib/tls/libc.so.6 (0x4010c000)
|
libc.so.6 => /lib/tls/libc.so.6 (0x4010c000)
|
||||||
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00355000)
|
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00355000)
|
||||||
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
@ -810,12 +819,12 @@ Which gives the expected:
|
|||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
%ldd a.out
|
%ldd a.out
|
||||||
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x00764000)
|
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x00764000)
|
||||||
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x40015000)
|
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x40015000)
|
||||||
libc.so.6 => /lib/tls/libc.so.6 (0x0036d000)
|
libc.so.6 => /lib/tls/libc.so.6 (0x0036d000)
|
||||||
libm.so.6 => /lib/tls/libm.so.6 (0x004a8000)
|
libm.so.6 => /lib/tls/libm.so.6 (0x004a8000)
|
||||||
libgcc_s.so.1 => /mnt/hd/bld/gcc/gcc/libgcc_s.so.1 (0x400e5000)
|
libgcc_s.so.1 => /mnt/hd/bld/gcc/gcc/libgcc_s.so.1 (0x400e5000)
|
||||||
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00355000)
|
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00355000)
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -830,28 +839,42 @@ dependent libstdc++.so.5.
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
ABIcheck, a vague idea of checking ABI compatibility
|
ABIcheck, a vague idea of checking ABI compatibility
|
||||||
http://abicheck.sourceforge.net/
|
<br />
|
||||||
|
<a href="http://abicheck.sourceforge.net/">http://abicheck.sourceforge.net/</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
C++ ABI reference
|
C++ ABI reference
|
||||||
http://www.codesourcery.com/cxx-abi/
|
<br />
|
||||||
|
<a href="http://www.codesourcery.com/cxx-abi/">http://www.codesourcery.com/cxx-abi/</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Intel ABI documentation
|
Intel ABI documentation
|
||||||
|
<br />
|
||||||
"Intel® Compilers for Linux* -Compatibility with the GNU Compilers"
|
"Intel® Compilers for Linux* -Compatibility with the GNU Compilers"
|
||||||
|
<br />
|
||||||
(included in icc 6.0)
|
(included in icc 6.0)
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Sun Solaris 2.9 docs
|
Sun Solaris 2.9 docs
|
||||||
|
<br />
|
||||||
Linker and Libraries Guide (document 816-1386)
|
Linker and Libraries Guide (document 816-1386)
|
||||||
|
<br />
|
||||||
C++ Migration Guide (document 816-2459)
|
C++ Migration Guide (document 816-2459)
|
||||||
http://docs.sun.com/db/prod/solaris.9
|
<br />
|
||||||
http://docs.sun.com/?p=/doc/816-1386&a=load
|
<a href="http://docs.sun.com/db/prod/solaris.9">http://docs.sun.com/db/prod/solaris.9</a>
|
||||||
|
<br />
|
||||||
|
<a href="http://docs.sun.com/?p=/doc/816-1386&a=load">http://docs.sun.com/?p=/doc/816-1386&a=load</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Ulrich Drepper, "ELF Symbol Versioning"
|
Ulrich Drepper, "ELF Symbol Versioning"
|
||||||
http://people.redhat.com/drepper/symbol-versioning
|
<br />
|
||||||
|
<a href="http://people.redhat.com/drepper/symbol-versioning">http://people.redhat.com/drepper/symbol-versioning</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user