This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[www-patch] bugs.html rewrite, part 6a: clarify ABI section


The following patch clarifies the "ABI changes" section in bugs.html.
It was discussed in November, see e.g.

http://gcc.gnu.org/ml/gcc-patches/2003-11/msg01788.html

but somehow the thread petered out without a patch being applied.

Gerald was OK with the patch, but wanted to leave the final decision to you,
Richard.

Checked as valid XHTML 1.0.
Ok to commit?

Regards,
Volker


Index: bugs.html
===================================================================
RCS file: /home/reichelt/GCC/CVS/gcc-cvs/wwwdocs/htdocs/bugs.html,v
retrieving revision 1.81
diff -u -p -r1.81 bugs.html
--- bugs.html	7 Jan 2004 10:30:59 -0000	1.81
+++ bugs.html	12 Jan 2004 21:04:32 -0000
@@ -694,14 +694,20 @@ and the scope operator.</p></dd>
 
 <h4>ABI changes</h4>
 
-<p>The application binary interface (ABI) defines how the elements of
-classes are laid out, how functions are called, how function names are
-mangled etc.  It usually changes with each major release (i.e. when the
-first or second part of the version number changes).  You <em>must</em>
-recompile all C++ libraries, or you risk linker errors or malfunctioning
-programs.  However, the ABI is not changed with bug-fix releases (i.e.
-when the third part of the version number changes).  The code should be
-binary compatible among these versions.</p>
+<p>The C++ application binary interface (ABI) consists of two components:
+The first defines how the elements of classes are laid out, how functions
+are called, how function names are mangled etc.  The second part deals
+with the internals of the objects in libstdc++.  Although we strive for
+a non-changing ABI, we had to modify it with each major release (i.e. when
+the first or second part of the version number changes).  If you upgrade
+your compiler to a new major release version, <em>you must therefore
+recompile all libraries that contain C++ code, or you risk linker errors
+or malfunctioning programs</em>.  (Some of our Java support libraries also
+contain C++ code, so you might want to recompile all libraries to be save.)
+However, it should not be necessary to recompile, if you have changed to
+a bug-fix release of the same version of the compiler (i.e. when only the
+third part of the version number changes); bug-fix releases are careful to
+avoid ABI changes.</p>
 
 <h4>Standard conformance</h4>
 
===================================================================



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]