Changeset View
Changeset View
Standalone View
Standalone View
cddl/contrib/opensolaris/lib/libdtrace/common/drti.c
Show First 20 Lines • Show All 137 Lines • ▼ Show 20 Lines | #endif | ||||
if (dof->dofh_ident[DOF_ID_MAG0] != DOF_MAG_MAG0 || | if (dof->dofh_ident[DOF_ID_MAG0] != DOF_MAG_MAG0 || | ||||
dof->dofh_ident[DOF_ID_MAG1] != DOF_MAG_MAG1 || | dof->dofh_ident[DOF_ID_MAG1] != DOF_MAG_MAG1 || | ||||
dof->dofh_ident[DOF_ID_MAG2] != DOF_MAG_MAG2 || | dof->dofh_ident[DOF_ID_MAG2] != DOF_MAG_MAG2 || | ||||
dof->dofh_ident[DOF_ID_MAG3] != DOF_MAG_MAG3) { | dof->dofh_ident[DOF_ID_MAG3] != DOF_MAG_MAG3) { | ||||
dbg_printf(0, ".SUNW_dof section corrupt\n"); | dbg_printf(0, ".SUNW_dof section corrupt\n"); | ||||
return; | return; | ||||
} | } | ||||
#ifdef __FreeBSD__ | |||||
elf = (void *)lmp->l_base; | |||||
#else | |||||
elf = (void *)lmp->l_addr; | elf = (void *)lmp->l_addr; | ||||
#endif | |||||
markj: This needs to change too. | |||||
dh.dofhp_dof = (uintptr_t)dof; | dh.dofhp_dof = (uintptr_t)dof; | ||||
dh.dofhp_addr = elf->e_type == ET_DYN ? (uintptr_t) lmp->l_addr : 0; | |||||
#ifdef __FreeBSD__ | #ifdef __FreeBSD__ | ||||
dh.dofhp_addr = elf->e_type == ET_DYN ? (uintptr_t) lmp->l_base : 0; | |||||
dh.dofhp_pid = getpid(); | dh.dofhp_pid = getpid(); | ||||
#else | |||||
dh.dofhp_addr = elf->e_type == ET_DYN ? (uintptr_t) lmp->l_addr : 0; | |||||
#endif | #endif | ||||
if (lmid == 0) { | if (lmid == 0) { | ||||
(void) snprintf(dh.dofhp_mod, sizeof (dh.dofhp_mod), | (void) snprintf(dh.dofhp_mod, sizeof (dh.dofhp_mod), | ||||
"%s", modname); | "%s", modname); | ||||
} else { | } else { | ||||
(void) snprintf(dh.dofhp_mod, sizeof (dh.dofhp_mod), | (void) snprintf(dh.dofhp_mod, sizeof (dh.dofhp_mod), | ||||
"LM%lu`%s", lmid, modname); | "LM%lu`%s", lmid, modname); | ||||
▲ Show 20 Lines • Show All 60 Lines • Show Last 20 Lines |
This needs to change too.