summaryrefslogtreecommitdiff
path: root/usr/src/uts
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts')
-rw-r--r--usr/src/uts/common/sys/ctf.h14
-rw-r--r--usr/src/uts/common/sys/ctf_api.h7
-rw-r--r--usr/src/uts/intel/ctf/Makefile4
-rw-r--r--usr/src/uts/sparc/ctf/Makefile4
4 files changed, 22 insertions, 7 deletions
diff --git a/usr/src/uts/common/sys/ctf.h b/usr/src/uts/common/sys/ctf.h
index 065e985b82..2e41cf9a0e 100644
--- a/usr/src/uts/common/sys/ctf.h
+++ b/usr/src/uts/common/sys/ctf.h
@@ -22,13 +22,13 @@
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2018 Joyent, Inc.
*/
#ifndef _CTF_H
#define _CTF_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
#ifdef __cplusplus
@@ -220,11 +220,13 @@ typedef struct ctf_type {
#define CTF_TYPE_NAME(stid, offset) \
(((stid) << 31) | ((offset) & 0x7fffffff))
-#define CTF_TYPE_ISPARENT(id) ((id) < 0x8000)
-#define CTF_TYPE_ISCHILD(id) ((id) > 0x7fff)
+#define CTF_CHILD_START (0x8000)
+#define CTF_TYPE_ISPARENT(id) ((id) < CTF_CHILD_START)
+#define CTF_TYPE_ISCHILD(id) ((id) >= CTF_CHILD_START)
-#define CTF_TYPE_TO_INDEX(id) ((id) & 0x7fff)
-#define CTF_INDEX_TO_TYPE(id, child) ((child) ? ((id) | 0x8000) : (id))
+#define CTF_TYPE_TO_INDEX(id) ((id) & (CTF_CHILD_START - 1))
+#define CTF_INDEX_TO_TYPE(id, child) \
+ ((child) ? ((id) | CTF_CHILD_START) : (id))
#define CTF_PARENT_SHIFT 15
#define CTF_STRTAB_0 0 /* symbolic define for string table id 0 */
diff --git a/usr/src/uts/common/sys/ctf_api.h b/usr/src/uts/common/sys/ctf_api.h
index bc99f67d3f..073cc4f0d6 100644
--- a/usr/src/uts/common/sys/ctf_api.h
+++ b/usr/src/uts/common/sys/ctf_api.h
@@ -24,7 +24,7 @@
* Use is subject to license terms.
*/
/*
- * Copyright (c) 2015, Joyent, Inc.
+ * Copyright 2018 Joyent, Inc.
*/
/*
@@ -233,6 +233,9 @@ extern uint_t ctf_flags(ctf_file_t *);
extern const char *ctf_errmsg(int);
extern int ctf_version(int);
+extern ctf_id_t ctf_max_id(ctf_file_t *);
+extern ulong_t ctf_nr_syms(ctf_file_t *);
+
extern int ctf_func_info(ctf_file_t *, ulong_t, ctf_funcinfo_t *);
extern int ctf_func_info_by_id(ctf_file_t *, ctf_id_t, ctf_funcinfo_t *);
extern int ctf_func_args(ctf_file_t *, ulong_t, uint_t, ctf_id_t *);
@@ -248,6 +251,8 @@ extern ssize_t ctf_type_lname(ctf_file_t *, ctf_id_t, char *, size_t);
extern char *ctf_type_name(ctf_file_t *, ctf_id_t, char *, size_t);
extern char *ctf_type_qname(ctf_file_t *, ctf_id_t, char *, size_t,
const char *);
+extern char *ctf_type_cname(ctf_file_t *, ctf_id_t, char *, size_t,
+ const char *);
extern ssize_t ctf_type_size(ctf_file_t *, ctf_id_t);
extern ssize_t ctf_type_align(ctf_file_t *, ctf_id_t);
extern int ctf_type_kind(ctf_file_t *, ctf_id_t);
diff --git a/usr/src/uts/intel/ctf/Makefile b/usr/src/uts/intel/ctf/Makefile
index 207a5ff8ea..97457d0c0c 100644
--- a/usr/src/uts/intel/ctf/Makefile
+++ b/usr/src/uts/intel/ctf/Makefile
@@ -22,6 +22,8 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+# Copyright 2018 Joyent, Inc.
+#
UTSBASE = ../..
@@ -36,6 +38,8 @@ ALL_TARGET = $(BINARY)
LINT_TARGET = $(MODULE).lint
INSTALL_TARGET = $(BINARY) $(ROOTMODULE)
+C99LMODE= -Xc99=%all
+
CPPFLAGS += -I$(SRC)/common/ctf -DCTF_OLD_VERSIONS
LDFLAGS += $(BREDUCE) -M$(UTSBASE)/common/ctf/mapfile -dy
diff --git a/usr/src/uts/sparc/ctf/Makefile b/usr/src/uts/sparc/ctf/Makefile
index bb40cd9d28..0f463684dd 100644
--- a/usr/src/uts/sparc/ctf/Makefile
+++ b/usr/src/uts/sparc/ctf/Makefile
@@ -22,6 +22,8 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+# Copyright 2018 Joyent, Inc.
+#
UTSBASE = ../..
@@ -36,6 +38,8 @@ ALL_TARGET = $(BINARY)
LINT_TARGET = $(MODULE).lint
INSTALL_TARGET = $(BINARY) $(ROOTMODULE)
+C99LMODE= -Xc99=%all
+
CFLAGS += $(CCVERBOSE)
CPPFLAGS += -I$(SRC)/common/ctf -DCTF_OLD_VERSIONS
LDFLAGS += $(BREDUCE) -M$(UTSBASE)/common/ctf/mapfile -dy