summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/ctf.h
diff options
context:
space:
mode:
authorJohn Levon <john.levon@joyent.com>2018-09-28 17:18:54 +0000
committerJohn Levon <john.levon@joyent.com>2018-10-19 15:53:33 +0000
commit20b880231bb330a968b6ae93b908f6e42057a3e4 (patch)
treeb5e6237062d081a5795a62e9097c7590b1900a51 /usr/src/uts/common/sys/ctf.h
parent104c53876a87e773ef729efa9419a70fe24933cb (diff)
downloadillumos-joyent-OS-7275.tar.gz
OS-7270 ctfconvert doesn't handle DW_AT_specificationOS-7275
OS-7275 ctfdump could generate C-style output OS-7279 DWARF->CTF enum conversion needs to be careful of sign Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>
Diffstat (limited to 'usr/src/uts/common/sys/ctf.h')
-rw-r--r--usr/src/uts/common/sys/ctf.h14
1 files changed, 8 insertions, 6 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 */