summaryrefslogtreecommitdiff
path: root/usr/src/tools/ctf
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/tools/ctf')
-rw-r--r--usr/src/tools/ctf/cvt/dwarf.c4
-rw-r--r--usr/src/tools/ctf/stabs/common/genassym.c15
2 files changed, 17 insertions, 2 deletions
diff --git a/usr/src/tools/ctf/cvt/dwarf.c b/usr/src/tools/ctf/cvt/dwarf.c
index 03b8fb498c..5766066929 100644
--- a/usr/src/tools/ctf/cvt/dwarf.c
+++ b/usr/src/tools/ctf/cvt/dwarf.c
@@ -1285,7 +1285,11 @@ typedef struct fp_size_map {
static const fp_size_map_t fp_encodings[] = {
{ { 4, 4 }, { CTF_FP_SINGLE, CTF_FP_CPLX, CTF_FP_IMAGRY } },
{ { 8, 8 }, { CTF_FP_DOUBLE, CTF_FP_DCPLX, CTF_FP_DIMAGRY } },
+#ifdef __sparc
+ { { 16, 16 }, { CTF_FP_LDOUBLE, CTF_FP_LDCPLX, CTF_FP_LDIMAGRY } },
+#else
{ { 12, 16 }, { CTF_FP_LDOUBLE, CTF_FP_LDCPLX, CTF_FP_LDIMAGRY } },
+#endif
{ { 0, 0 } }
};
diff --git a/usr/src/tools/ctf/stabs/common/genassym.c b/usr/src/tools/ctf/stabs/common/genassym.c
index a7d37f454c..ed10446b00 100644
--- a/usr/src/tools/ctf/stabs/common/genassym.c
+++ b/usr/src/tools/ctf/stabs/common/genassym.c
@@ -20,7 +20,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -317,10 +317,21 @@ ga_process_line(char *line)
(void) fprintf(out, "%s\n", line + 1);
}
return (1);
+
} else if (line[0] == '#') {
+ /*
+ * This is a comment of some sort; is it a line number
+ * comment? Those look like '# 53 "filename.c"'. GCC
+ * sometimes inserts them and removes all other vertical
+ * whitespace, so they should be treated as a "type
+ * terminator" like a blank line is.
+ */
+ if (isdigit(line[2])) {
+ /* line number, terminate type */
+ curtype = -1;
+ }
return (1);
}
-
if (curtype == -1)
return ((curtype = ga_process_name(line)));
else