public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* documenting C++ and libstdc++ ABI issues
@ 2002-08-27 10:38 Janis Johnson
  2002-08-27 11:16 ` Joseph S. Myers
  0 siblings, 1 reply; 5+ messages in thread
From: Janis Johnson @ 2002-08-27 10:38 UTC (permalink / raw)
  To: gcc; +Cc: bkoz

I'd like to formalize the documentation about C++ ABI conformance and
libstdc++ consistency.  I'll start with my notes from
http://gcc.gnu.org/ml/gcc/2002-08/msg01251.html and Benjamin's doc at
http://gcc.gnu.org/onlinedocs/libstdc++/abi.txt .  It will incorporate
pieces of the Interoperation section of the GCC Manual; that section is
currently under "Known Causes of Trouble" and looks horribly out of date
(example: "The GNU assembler (GAS) does not support PIC").

There should be a section in the GCC manual about ABI issues for C++
compiler and runtime support, and one in the libstdc++ manual about
libstdc++ issues.  Some of Benjamin's information would move to the
compiler documentation.

If someone is already working on this, or if such documentation already
exists and I just didn't find it, please let me know.

Janis Johnson
IBM Linux Technology Center

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: documenting C++ and libstdc++ ABI issues
  2002-08-27 10:38 documenting C++ and libstdc++ ABI issues Janis Johnson
@ 2002-08-27 11:16 ` Joseph S. Myers
  2002-08-27 11:49   ` Janis Johnson
  0 siblings, 1 reply; 5+ messages in thread
From: Joseph S. Myers @ 2002-08-27 11:16 UTC (permalink / raw)
  To: Janis Johnson; +Cc: gcc

On Tue, 27 Aug 2002, Janis Johnson wrote:

> I'd like to formalize the documentation about C++ ABI conformance and
> libstdc++ consistency.  I'll start with my notes from
> http://gcc.gnu.org/ml/gcc/2002-08/msg01251.html and Benjamin's doc at
> http://gcc.gnu.org/onlinedocs/libstdc++/abi.txt .  It will incorporate
> pieces of the Interoperation section of the GCC Manual; that section is
> currently under "Known Causes of Trouble" and looks horribly out of date

There are at least two GCC manual sections relating to ABIs.  The
appropriate one to expand with non-C information (linking to appropriate
external documents) is probably that in the internals manual in
interface.texi.  As with that in trouble.texi, it suffers from documenting
information about old systems that few people use GCC on and not current
information about the ABIs for currently used systems.  (There may be
information in both those sections that relates *only* to systems for
which support has been removed; any such information should be removed.)

Explicit references to the external ABI specifications followed for C for
at least the current primary release platforms, and any known deviations
from those, and any extensions, would also be useful.

> (example: "The GNU assembler (GAS) does not support PIC").

It has been suggested this is still true for some a.out BSD systems (for
which the relevant support was never merged into GNU binutils).

-- 
Joseph S. Myers
jsm28@cam.ac.uk

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: documenting C++ and libstdc++ ABI issues
  2002-08-27 11:16 ` Joseph S. Myers
@ 2002-08-27 11:49   ` Janis Johnson
  2002-08-27 12:08     ` Joseph S. Myers
  0 siblings, 1 reply; 5+ messages in thread
From: Janis Johnson @ 2002-08-27 11:49 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: Janis Johnson, gcc

On Tue, Aug 27, 2002 at 07:16:43PM +0100, Joseph S. Myers wrote:
> On Tue, 27 Aug 2002, Janis Johnson wrote:
> 
> > I'd like to formalize the documentation about C++ ABI conformance and
> > libstdc++ consistency.  I'll start with my notes from
> > http://gcc.gnu.org/ml/gcc/2002-08/msg01251.html and Benjamin's doc at
> > http://gcc.gnu.org/onlinedocs/libstdc++/abi.txt .  It will incorporate
> > pieces of the Interoperation section of the GCC Manual; that section is
> > currently under "Known Causes of Trouble" and looks horribly out of date
> 
> There are at least two GCC manual sections relating to ABIs.  The
> appropriate one to expand with non-C information (linking to appropriate
> external documents) is probably that in the internals manual in
> interface.texi.

This information is of interest to GCC users, not just developers, so
it should be in the GCC manual rather than the internals manual.

>  As with that in trouble.texi, it suffers from documenting
> information about old systems that few people use GCC on and not current
> information about the ABIs for currently used systems.  (There may be
> information in both those sections that relates *only* to systems for
> which support has been removed; any such information should be removed.)

What's a good way to get the appropriate people to review and update
this information?

> Explicit references to the external ABI specifications followed for C for
> at least the current primary release platforms, and any known deviations
> from those, and any extensions, would also be useful.

Good point.
> 
> > (example: "The GNU assembler (GAS) does not support PIC").
> 
> It has been suggested this is still true for some a.out BSD systems (for
> which the relevant support was never merged into GNU binutils).

Then the statement should be clarified when the section is reviewed.

Thanks for your input.

Janis

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: documenting C++ and libstdc++ ABI issues
  2002-08-27 11:49   ` Janis Johnson
@ 2002-08-27 12:08     ` Joseph S. Myers
  2002-08-27 14:52       ` Joe Buck
  0 siblings, 1 reply; 5+ messages in thread
From: Joseph S. Myers @ 2002-08-27 12:08 UTC (permalink / raw)
  To: Janis Johnson; +Cc: gcc

On Tue, 27 Aug 2002, Janis Johnson wrote:

> This information is of interest to GCC users, not just developers, so
> it should be in the GCC manual rather than the internals manual.

There's a need for user information about when ABI incompatibilities
affect linking code built with different compilers or compiler versions.  
But there's also a need for the technical documentation defining what the
ABI is, where this goes beyond the external standards (e.g., the ABI for
code using GCC extensions), and what the actual "3.2 ABI" is in cases
where it differs from the specification (whereas the user documentation
need only discuss what code is affected, not the detailed differences in
those cases).  I feel that technical documentation fits better in the
internals manual.

-- 
Joseph S. Myers
jsm28@cam.ac.uk

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: documenting C++ and libstdc++ ABI issues
  2002-08-27 12:08     ` Joseph S. Myers
@ 2002-08-27 14:52       ` Joe Buck
  0 siblings, 0 replies; 5+ messages in thread
From: Joe Buck @ 2002-08-27 14:52 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: Janis Johnson, gcc

> On Tue, 27 Aug 2002, Janis Johnson wrote:
> 
> > This information is of interest to GCC users, not just developers, so
> > it should be in the GCC manual rather than the internals manual.
> 
> There's a need for user information about when ABI incompatibilities
> affect linking code built with different compilers or compiler versions.  
> But there's also a need for the technical documentation defining what the
> ABI is, where this goes beyond the external standards (e.g., the ABI for
> code using GCC extensions), and what the actual "3.2 ABI" is in cases
> where it differs from the specification (whereas the user documentation
> need only discuss what code is affected, not the detailed differences in
> those cases).  I feel that technical documentation fits better in the
> internals manual.

Users will wish to know how to avoid code that tweaks one of the
incompatibilities, and such an explanation could appear in the user
manual.  Beyond that, I'd agree that the main guts go in internals.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-08-27 14:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-27 10:38 documenting C++ and libstdc++ ABI issues Janis Johnson
2002-08-27 11:16 ` Joseph S. Myers
2002-08-27 11:49   ` Janis Johnson
2002-08-27 12:08     ` Joseph S. Myers
2002-08-27 14:52       ` Joe Buck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).