summaryrefslogtreecommitdiffstats
path: root/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c
diff options
context:
space:
mode:
Diffstat (limited to 'cddl/contrib/opensolaris/lib/libdtrace/common/drti.c')
-rw-r--r--cddl/contrib/opensolaris/lib/libdtrace/common/drti.c37
1 files changed, 10 insertions, 27 deletions
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c b/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c
index c983c5b..f8570e6 100644
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c
@@ -55,7 +55,7 @@
* DTRACE_DOF_INIT_DEVNAME set the path to the helper node
*/
-static const char *devnamep = "/dev/dtrace/helper";
+static const char *devname = "/dev/dtrace/helper";
static const char *olddevname = "/devices/pseudo/dtrace@0:helper";
static const char *modname; /* Name of this load object */
@@ -85,12 +85,7 @@ dprintf(int debug, const char *fmt, ...)
va_end(ap);
}
-#if defined(sun)
#pragma init(dtrace_dof_init)
-#else
-static void dtrace_dof_init(void) __attribute__ ((constructor));
-#endif
-
static void
dtrace_dof_init(void)
{
@@ -101,13 +96,8 @@ dtrace_dof_init(void)
Elf32_Ehdr *elf;
#endif
dof_helper_t dh;
-#if defined(sun)
Link_map *lmp;
Lmid_t lmid;
-#else
- struct link_map *lmp;
- u_long lmid = 0;
-#endif
int fd;
const char *p;
@@ -119,12 +109,10 @@ dtrace_dof_init(void)
return;
}
-#if defined(sun)
if (dlinfo(RTLD_SELF, RTLD_DI_LMID, &lmid) == -1) {
dprintf(1, "couldn't discover link map ID\n");
return;
}
-#endif
if ((modname = strrchr(lmp->l_name, '/')) == NULL)
modname = lmp->l_name;
@@ -142,7 +130,7 @@ dtrace_dof_init(void)
elf = (void *)lmp->l_addr;
dh.dofhp_dof = (uintptr_t)dof;
- dh.dofhp_addr = elf->e_type == ET_DYN ? (uintptr_t) lmp->l_addr : 0;
+ dh.dofhp_addr = elf->e_type == ET_DYN ? lmp->l_addr : 0;
if (lmid == 0) {
(void) snprintf(dh.dofhp_mod, sizeof (dh.dofhp_mod),
@@ -153,10 +141,10 @@ dtrace_dof_init(void)
}
if ((p = getenv("DTRACE_DOF_INIT_DEVNAME")) != NULL)
- devnamep = p;
+ devname = p;
- if ((fd = open64(devnamep, O_RDWR)) < 0) {
- dprintf(1, "failed to open helper device %s", devnamep);
+ if ((fd = open64(devname, O_RDWR)) < 0) {
+ dprintf(1, "failed to open helper device %s", devname);
/*
* If the device path wasn't explicitly set, try again with
@@ -165,10 +153,10 @@ dtrace_dof_init(void)
if (p != NULL)
return;
- devnamep = olddevname;
+ devname = olddevname;
- if ((fd = open64(devnamep, O_RDWR)) < 0) {
- dprintf(1, "failed to open helper device %s", devnamep);
+ if ((fd = open64(devname, O_RDWR)) < 0) {
+ dprintf(1, "failed to open helper device %s", devname);
return;
}
}
@@ -181,19 +169,14 @@ dtrace_dof_init(void)
(void) close(fd);
}
-#if defined(sun)
#pragma fini(dtrace_dof_fini)
-#else
-static void dtrace_dof_fini(void) __attribute__ ((destructor));
-#endif
-
static void
dtrace_dof_fini(void)
{
int fd;
- if ((fd = open64(devnamep, O_RDWR)) < 0) {
- dprintf(1, "failed to open helper device %s", devnamep);
+ if ((fd = open64(devname, O_RDWR)) < 0) {
+ dprintf(1, "failed to open helper device %s", devname);
return;
}
OpenPOWER on IntegriCloud