svn commit: r321842 - head/cddl/contrib/opensolaris/cmd/lockstat

Mark Johnston markj at FreeBSD.org
Tue Aug 1 04:49:55 UTC 2017


Author: markj
Date: Tue Aug  1 04:49:54 2017
New Revision: 321842
URL: https://svnweb.freebsd.org/changeset/base/321842

Log:
  Let lockstat use ksyms(4)'s mmap interface.
  
  The workaround described in the deleted comment is no longer needed.
  
  MFC after:	1 week

Modified:
  head/cddl/contrib/opensolaris/cmd/lockstat/sym.c

Modified: head/cddl/contrib/opensolaris/cmd/lockstat/sym.c
==============================================================================
--- head/cddl/contrib/opensolaris/cmd/lockstat/sym.c	Tue Aug  1 04:16:52 2017	(r321841)
+++ head/cddl/contrib/opensolaris/cmd/lockstat/sym.c	Tue Aug  1 04:49:54 2017	(r321842)
@@ -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);


More information about the svn-src-all mailing list