aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1992-06-25 22:35:09 +0000
committerStu Grossman <grossman@cygnus>1992-06-25 22:35:09 +0000
commit50a11e493374d5c39c8e3855e0f574bb46ac19a2 (patch)
tree39f01b14c412e00a60c4e4e47463a361f0abaf24
parent99fd9e3ee638d6a003da2a727786510ac9bf0b76 (diff)
downloadgdb-50a11e493374d5c39c8e3855e0f574bb46ac19a2.zip
gdb-50a11e493374d5c39c8e3855e0f574bb46ac19a2.tar.gz
gdb-50a11e493374d5c39c8e3855e0f574bb46ac19a2.tar.bz2
* buildsym.c (read_sun_builtin_type): Handle new FCS Sun CC
compiler feature of putting 'c' into basic type descriptors for all forms of char.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/buildsym.c8
2 files changed, 12 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3b9aaae..be38bcf 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
Thu Jun 25 15:18:42 1992 Stu Grossman (grossman at cygnus.com)
+ * buildsym.c (read_sun_builtin_type): Handle new FCS Sun CC
+ compiler feature of putting 'c' into basic type descriptors for
+ all forms of char.
+
* procfs.c (child_resume): Work around Solaris (on Sparc) lossage
where there is no place for nPC in prrun struct.
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 24552ed..4417177 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -2988,6 +2988,14 @@ read_sun_builtin_type (pp, typenums, objfile)
}
(*pp)++;
+ /* For some odd reason, all forms of char put a c here. This is strange
+ because no other type has this honor. We can safely ignore this because
+ we actually determine 'char'acterness by the number of bits specified in
+ the descriptor. */
+
+ if (**pp == 'c')
+ (*pp)++;
+
/* The first number appears to be the number of bytes occupied
by this type, except that unsigned short is 4 instead of 2.
Since this information is redundant with the third number,