/* Get the address of LDAV_SYMBOL. */
if (offset == 0)
{
-#ifndef SUNOS_5
#ifndef sgi
#ifndef NLIST_STRUCT
strcpy (nl[0].n_name, LDAV_SYMBOL);
#endif /* not NLIST_NAME_UNION */
#endif /* NLIST_STRUCT */
+#ifndef SUNOS_5
if (nlist (KERNEL_FILE, nl) >= 0)
/* Omit "&& nl[0].n_type != 0 " -- it breaks on Sun386i. */
{
#endif
offset = nl[0].n_value;
}
+#endif /* !SUNOS_5 */
#else /* sgi */
int ldav_off;
if (ldav_off != -1)
offset = (long) ldav_off & 0x7fffffff;
#endif /* sgi */
-#endif /* !SUNOS_5 */
}
/* Make sure we have /dev/kmem open. */
if (channel >= 0)
getloadavg_initialized = 1;
#else /* SUNOS_5 */
+ /* We pass 0 for the kernel, corefile, and swapfile names
+ to use the currently running kernel. */
kd = kvm_open (0, 0, 0, O_RDONLY, 0);
if (kd != 0)
{
+ /* nlist the currently running kernel. */
kvm_nlist (kd, nl);
+ offset = nl[0].n_value;
getloadavg_initialized = 1;
}
#endif /* SUNOS_5 */