Let lockstat use ksyms(4)'s mmap interface.
The workaround described in the deleted comment is no longer needed. MFC after: 1 week
This commit is contained in:
parent
fac28683ec
commit
d7b05ab2a8
@ -194,33 +194,9 @@ symtab_init(void)
|
||||
return (-1);
|
||||
#endif
|
||||
|
||||
#ifdef illumos
|
||||
(void) elf_version(EV_CURRENT);
|
||||
|
||||
elf = elf_begin(fd, ELF_C_READ, NULL);
|
||||
#else
|
||||
/*
|
||||
* XXX - libelf needs to be fixed so it will work with
|
||||
* non 'ordinary' files like /dev/ksyms. The following
|
||||
* is a work around for now.
|
||||
*/
|
||||
if (elf_version(EV_CURRENT) == EV_NONE) {
|
||||
close(fd);
|
||||
return (-1);
|
||||
}
|
||||
if (ioctl(fd, KIOCGSIZE, &sz) < 0) {
|
||||
close(fd);
|
||||
return (-1);
|
||||
}
|
||||
if (ioctl(fd, KIOCGADDR, &ksyms) < 0) {
|
||||
close(fd);
|
||||
return (-1);
|
||||
}
|
||||
if ((elf = elf_memory(ksyms, sz)) == NULL) {
|
||||
close(fd);
|
||||
return (-1);
|
||||
}
|
||||
#endif
|
||||
|
||||
for (cnt = 1; (scn = elf_nextscn(elf, scn)) != NULL; cnt++) {
|
||||
Shdr *shdr = elf_getshdr(scn);
|
||||
|
Loading…
Reference in New Issue
Block a user