diff options
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/tm-sun4sol2.h | 5 | ||||
-rw-r--r-- | gdb/values.c | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c764d58..9a51cf2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +Mon Nov 30 12:00:25 1992 Fred Fish (fnf@cygnus.com) + + * tm-sun4sol2.h: Add CPLUS_MARKER. Solaris 2.0 requires '.' + rather than '$'. This particular piece of braindamage is + spreading like ooze. It's now infected libiberty, deja-gnu, + gdb, and gcc. + * values.c (baseclass_addr): Use CPLUS_MARKER rather than + hardwired '$' character. + Sun Nov 29 15:22:42 1992 Fred Fish (fnf@cygnus.com) (Changes to break incredibly ugly, unmaintainable 750 line diff --git a/gdb/tm-sun4sol2.h b/gdb/tm-sun4sol2.h index dbf9ffb..f785dd1 100644 --- a/gdb/tm-sun4sol2.h +++ b/gdb/tm-sun4sol2.h @@ -37,6 +37,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define SUN_FIXED_LBRAC_BUG +/* Assembler doesn't grok dollar signs in identifiers, so we use dots instead. + This item must be coordinated with G++. */ +#undef CPLUS_MARKER +#define CPLUS_MARKER '.' + #if 0 /* Setjmp/longjmp are not as well doc'd in SunOS 5.x yet */ /* Offsets into jmp_buf. Not defined by Sun, but at least documented in a diff --git a/gdb/values.c b/gdb/values.c index 61a1614..14ecccb 100644 --- a/gdb/values.c +++ b/gdb/values.c @@ -1215,7 +1215,7 @@ baseclass_addr (type, index, valaddr, valuep, errp) char *vbase_name, *type_name = type_name_no_tag (basetype); vbase_name = (char *)alloca (strlen (type_name) + 8); - sprintf (vbase_name, "_vb$%s", type_name); + sprintf (vbase_name, "_vb%c%s", CPLUS_MARKER, type_name); /* First look for the virtual baseclass pointer in the fields. */ for (i = n_baseclasses; i < len; i++) |