This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


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

RE: using GDB 5 on Solaris 7 with Sun WS5.0


Here's the stuff I get from "man CC" on SunWorkshop 5 C++:

Note that -compat=5 (which lets me use STL) will set the __cplusplus macro
to "199711L".  I don't know if that helps in determining which ABI those
guys are following.  Also, I tried to compile helloworld.cpp with -g and see
if the newest snapshot (23/Mar/2001) could debug it without me resorting to
-xs and it cannot.  Is there an option or config.h option that I need to
enable psymtab stuff?


     -compat[=(4|5)]
               Sets the compiler to be compatible with 4.0.1,
               4.1, and 4.2 compilers; or with full 5.0. This
               option controls the preprocessor __cplusplus
               macro.

               The C++ compiler has two principal modes.  One
               accepts the semantics and language defined by the
               Annotated C++ Reference Manual (ARM) and used in
               the 4.2 compiler (the compatibility mode, -com-
               pat=4).  The other accepts constructs according to
               the ANSI/ISO standard (standards mode, -compat=5).
               These two modes are incompatible with each other
               because the ANSI/ISO standard forces significant,
               incompatible changes in name mangling, vtable lay-
               out, and other ABI details. These two modes are
               differentiated by the -compat option as shown in
               the following values.

               Value          Meaning

               -compat=4      Compile for compatibility with C++
                              4.0.1, C++ 4.1, and C++ 4.2 (Sets
                              __cplusplus macro to 1.)

               -compat=5      Compile with full C++ 5.0 features.
                              (Sets __cplusplus macro to
                              199711L.)

               Defaults:

               If the -compat option is not specified, -compat=5
               is assumed.  If only -compat is specified, -com-
               pat=4 is assumed.

               Interactions:

               The -xarch=v9 option and the -compat[=4] option
               are not supported when used together.

-----Original Message-----
From: Michael Elizabeth Chastain [mailto:chastain@cygnus.com]
Sent: Friday, March 23, 2001 9:23 AM
To: gdb@sourceware.cygnus.com; tanvir.hassan@tumisoftware.com
Subject: Re: using GDB 5 on Solaris 7 with Sun WS5.0


Hi Tanvir,

> I have heard that someone might have changed GDB to do "lazy" loading
> of symbols by reading them from the *.o instead of the exe and thus
> obviating the need for "-xs", but I don't see any mention of this in
> any of the source.

That is the "partial symtab" (psymtab) code.

> 2) the name mangling/vtable scheme of Sun WS5.0 is apparently using the
> ISO/ANSI ABI standard and GDB cannot deal with it (it needs an new BFD to
> handle this?  or is there a generic name de-mangling place in the code?)

Recent snapshots of gdb, and the current CVS version of gdb, operate with
the new multi-vendor C++ ABI:

  http://reality.sgi.com/dehnert_engr/cxx/cxx-summary.html

If you could provide a URL or an ISO reference number for that "ISO/ANSI
ABI standard", I could check if it's the same as the "new ABI" standard
that we're working on supporting.

Michael Elizabeth Chastain
<chastain@redhat.com>
"love without fear"

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