Date: Wed, 23 Nov 2011 07:34:10 +0000 (UTC) From: Mikolaj Golub <trociny@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r227873 - head/usr.bin/procstat Message-ID: <201111230734.pAN7YA78032998@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: trociny Date: Wed Nov 23 07:34:09 2011 New Revision: 227873 URL: http://svn.freebsd.org/changeset/base/227873 Log: Fix build, hopefully. Reviewed by: kib Modified: head/usr.bin/procstat/procstat_auxv.c Modified: head/usr.bin/procstat/procstat_auxv.c ============================================================================== --- head/usr.bin/procstat/procstat_auxv.c Wed Nov 23 07:12:26 2011 (r227872) +++ head/usr.bin/procstat/procstat_auxv.c Wed Nov 23 07:34:09 2011 (r227873) @@ -42,14 +42,13 @@ #include "procstat.h" -static char auxv[sizeof(Elf_Auxinfo) * 256]; +static Elf_Auxinfo auxv[256]; void procstat_auxv(struct kinfo_proc *kipp) { - Elf_Auxinfo *aux; - int i, error, name[4]; - size_t len; + int error, name[4]; + size_t len, i; if (!hflag) printf("%5s %-16s %-53s\n", "PID", "COMM", "AUXV"); @@ -58,7 +57,7 @@ procstat_auxv(struct kinfo_proc *kipp) name[1] = KERN_PROC; name[2] = KERN_PROC_AUXV; name[3] = kipp->ki_pid; - len = sizeof(auxv); + len = sizeof(auxv) * sizeof(*auxv); error = sysctl(name, 4, auxv, &len, NULL, 0); if (error < 0 && errno != ESRCH) { warn("sysctl: kern.proc.auxv: %d: %d", kipp->ki_pid, errno); @@ -72,106 +71,116 @@ procstat_auxv(struct kinfo_proc *kipp) printf(" -\n"); return; } - for (aux = (Elf_Auxinfo *)auxv, i = 0; i < 256; i++, aux++) { - switch(aux->a_type) { + for (i = 0; i < len; i++) { + switch(auxv[i].a_type) { case AT_NULL: - printf(" (%d)\n", i + 1); + printf(" (%zu)\n", i + 1); return; case AT_IGNORE: printf(" AT_IGNORE=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_EXECFD: printf(" AT_EXECFD=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_PHDR: printf(" AT_PHDR=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_PHENT: printf(" AT_PHENT=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_PHNUM: printf(" AT_PHNUM=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_PAGESZ: printf(" AT_PAGESZ=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_BASE: printf(" AT_BASE=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_FLAGS: printf(" AT_FLAGS=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_ENTRY: printf(" AT_ENTRY=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; +#ifdef AT_NOTELF case AT_NOTELF: printf(" AT_NOTELF=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; +#endif +#ifdef AT_UID case AT_UID: printf(" AT_UID=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; +#endif +#ifdef AT_EUID case AT_EUID: printf(" AT_EUID=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; +#endif +#ifdef AT_GID case AT_GID: printf(" AT_GID=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; +#endif +#ifdef AT_EGID case AT_EGID: printf(" AT_EGID=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; +#endif case AT_EXECPATH: printf(" AT_EXECPATH=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_CANARY: printf(" AT_CANARY=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_CANARYLEN: printf(" AT_CANARYLEN=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_OSRELDATE: printf(" AT_OSRELDATE=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_NCPUS: printf(" AT_NCPUS=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_PAGESIZES: printf(" AT_PAGESIZES=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_PAGESIZESLEN: printf(" AT_PAGESIZESLEN=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_STACKPROT: printf(" AT_STACKPROT=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; case AT_COUNT: printf(" AT_COUNT=0x%lu", - (unsigned long)aux->a_un.a_val); + (unsigned long)auxv[i].a_un.a_val); break; default: - printf(" %ld=0x%lu", (long)aux->a_type, - (unsigned long)aux->a_un.a_val); + printf(" %ld=0x%lu", (long)auxv[i].a_type, + (unsigned long)auxv[i].a_un.a_val); break; } }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201111230734.pAN7YA78032998>