Date: Tue, 3 Sep 2002 17:43:34 +0200 (CEST) From: Dan Lukes <dan@obluda.cz> To: FreeBSD-gnats-submit@FreeBSD.org Cc: dan@obluda.cz Subject: bin/42386: cleaning code from warnings in libkvm Message-ID: <200209031543.g83FhY3o002155@xkulesh.vol.cz>
index | next in thread | raw e-mail
>Number: 42386
>Category: bin
>Synopsis: cleaning code from warnings in libkvm
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Sep 03 14:40:04 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Dan Lukes
>Release: FreeBSD 5.0-CURRENT i386
>Organization:
Obludarium
>Environment:
src/lib/libkvm/kvm.h,v 1.14 2002/08/21 16:19:57
src/lib/libkvm/kvm.c,v 1.22 2002/05/28 17:01:04
src/lib/libkvm/kvm_i386.c,v 1.15 2001/10/10 17:48:43
src/lib/libkvm/kvm_getswapinfo.c,v 1.19 2001/10/10 17:48:43
src/lib/libkvm/kvm_proc.c,v 1.54 2002/08/30 02:18:38
>Description:
lib/libkvm/kvm.c:
351: warning: unsigned int format, u_long arg (arg 4)
413: warning: unsigned int format, u_long arg (arg 4)
#>> see NOTE 1
lib/libkvm/kvm_i386.c:
200: warning: unsigned int format, u_long arg (arg 4)
#>> see NOTE 1
144: warning: unused variable `i'
#>> variable i is really unused
lib/libkvm/kvm_getswapinfo.c:
267: warning: unsigned int format, different type arg (arg 5)
int format, different type arg (arg 6)
#>> blk & radix are daddr_t = int64_t = __int64_t = long long
287: warning: unsigned int format, different type arg (arg 5)
int format, different type arg (arg 6)
int format, different type arg (arg 8)
#>> blk & radix are daddr_t = int64_t = __int64_t = long long
#>> meta.bm_bighint is daddr_t = int64_t = __int64_t = long long
321: warning: unsigned int format, different type arg (arg 5)
int format, different type arg (arg 6)
#>> blk & radix are daddr_t = int64_t = __int64_t = long long
355: warning: unsigned int format, different type arg (arg 5)
int format, different type arg (arg 6)
#>> blk & radix are daddr_t = int64_t = __int64_t = long long
371: warning: unsigned int format, different type arg (arg 5)
int format, different type arg (arg 6)
int format, different type arg (arg 8)
#>> blk & radix are daddr_t = int64_t = __int64_t = long long
#>> meta.bm_bighint is daddr_t = int64_t = __int64_t = long long
434: warning: int format, different type arg (arg 2)
int format, different type arg (arg 3)
int format, different type arg (arg 4)
#>> bl_free,bl_blocks,bl_radix are daddr_t = int64_t = __int64_t = long long
lib/libkvm/kvm_proc.c:
132: warning: unsigned int format, pointer arg (arg 4)
140: warning: unsigned int format, pointer arg (arg 4)
195: warning: unsigned int format, pointer arg (arg 4)
204: warning: unsigned int format, pointer arg (arg 4)
220: warning: unsigned int format, pointer arg (arg 4)
230: warning: unsigned int format, pointer arg (arg 4)
237: warning: unsigned int format, pointer arg (arg 4)
249: warning: unsigned int format, pointer arg (arg 4)
257: warning: unsigned int format, pointer arg (arg 4)
267: warning: unsigned int format, pointer arg (arg 4)
#>> common for 10 above warnings -
#>> pointer should be printf'ed by 'p' not 'x' conversion character
782: warning: passing arg 0 of 'kvm_doargv' discards qualifiers from pointer target type
#>> there are several mismatches of const and non-const declarations of
#>> struct kinfo_proc *kp parameter in varions functions
926: warning: unsigned int format, u_long arg (arg 4)
#>> uva is u_long = unsigned long
44: warning: 'sccsid' defined but not used
#>> all other sources has sccsid definition skipped by #if 0
=======
NOTE 1
As long as sizeof(int)==sizeof(long) there are no real impact of
inconsistency between (long) int format and int arg (or vice versa),
but it is better to have clean code ...
=======
The warnings in kvm_getswapinfo.c points to real error, because
longlongs really cannot be succesfully printed as ints (but it shouldn't
abend as of sizeof(int)<sizeof(long long)). It's the reason
I assign medium priority to this PR
>How-To-Repeat:
N/A
>Fix:
--- lib/libkvm/kvm.c.ORIG Tue May 28 19:01:04 2002
+++ lib/libkvm/kvm.c Tue Sep 3 15:47:05 2002
@@ -348,7 +348,7 @@
*/
errno = 0;
if (lseek(kd->vmfd, (off_t)kva, 0) == -1 && errno != 0) {
- _kvm_err(kd, 0, "invalid address (%x)", kva);
+ _kvm_err(kd, 0, "invalid address (%lx)", kva);
return (-1);
}
cc = read(kd->vmfd, buf, len);
@@ -410,7 +410,7 @@
*/
errno = 0;
if (lseek(kd->vmfd, (off_t)kva, 0) == -1 && errno != 0) {
- _kvm_err(kd, 0, "invalid address (%x)", kva);
+ _kvm_err(kd, 0, "invalid address (%lx)", kva);
return (-1);
}
cc = write(kd->vmfd, buf, len);
--- lib/libkvm/kvm.h.ORIG Wed Aug 21 19:28:52 2002
+++ lib/libkvm/kvm.h Tue Sep 3 17:18:52 2002
@@ -89,7 +89,7 @@
(const char *, const char *, const char *, int, char *);
ssize_t kvm_read(kvm_t *, unsigned long, void *, size_t);
ssize_t kvm_uread
-(kvm_t *, struct kinfo_proc *, unsigned long, char *, size_t);
+(kvm_t *, const struct kinfo_proc *, unsigned long, char *, size_t);
ssize_t kvm_write(kvm_t *, unsigned long, const void *, size_t);
__END_DECLS
--- lib/libkvm/kvm_getswapinfo.c.ORIG Wed Oct 10 19:48:43 2001
+++ lib/libkvm/kvm_getswapinfo.c Tue Sep 3 16:41:22 2002
@@ -260,7 +260,7 @@
*/
if (meta.bm_bighint == (daddr_t)-1) {
if (flags & SWIF_DUMP_TREE) {
- printf("%*.*s(0x%06x,%d) Terminator\n",
+ printf("%*.*s(0x%06llx,%lld) Terminator\n",
TABME,
blk,
radix
@@ -278,7 +278,7 @@
#endif
if (flags & SWIF_DUMP_TREE) {
- printf("%*.*s(0x%06x,%d) Bitmap %08x big=%d\n",
+ printf("%*.*s(0x%06llx,%lld) Bitmap %08x big=%lld\n",
TABME,
blk,
radix,
@@ -314,7 +314,7 @@
* Meta node if all free
*/
if (flags & SWIF_DUMP_TREE) {
- printf("%*.*s(0x%06x,%d) Submap ALL-FREE {\n",
+ printf("%*.*s(0x%06llx,%lld) Submap ALL-FREE {\n",
TABME,
blk,
radix
@@ -348,7 +348,7 @@
* Meta node if all used
*/
if (flags & SWIF_DUMP_TREE) {
- printf("%*.*s(0x%06x,%d) Submap ALL-ALLOCATED\n",
+ printf("%*.*s(0x%06llx,%lld) Submap ALL-ALLOCATED\n",
TABME,
blk,
radix
@@ -362,7 +362,7 @@
int next_skip;
if (flags & SWIF_DUMP_TREE) {
- printf("%*.*s(0x%06x,%d) Submap avail=%d big=%d {\n",
+ printf("%*.*s(0x%06llx,%lld) Submap avail=%d big=%lld {\n",
TABME,
blk,
radix,
@@ -425,7 +425,7 @@
KGET2(swapblist, &blcopy, sizeof(blcopy), "*swapblist");
if (flags & SWIF_DUMP_TREE) {
- printf("radix tree: %d/%d/%d blocks, %dK wired\n",
+ printf("radix tree: %lld/%lld/%lld blocks, %dK wired\n",
blcopy.bl_free,
blcopy.bl_blocks,
blcopy.bl_radix,
--- lib/libkvm/kvm_i386.c.ORIG Tue Sep 3 15:47:44 2002
+++ lib/libkvm/kvm_i386.c Tue Sep 3 16:01:24 2002
@@ -141,7 +141,6 @@
pt_entry_t pte;
u_long pdeindex;
u_long pteindex;
- int i;
if (ISALIVE(kd)) {
_kvm_err(kd, 0, "vatop called in live kernel!");
@@ -197,7 +196,7 @@
return (PAGE_SIZE - offset);
invalid:
- _kvm_err(kd, 0, "invalid address (%x)", va);
+ _kvm_err(kd, 0, "invalid address (%lx)", va);
return (0);
}
--- lib/libkvm/kvm_proc.c.ORIG Sun Sep 1 08:04:56 2002
+++ lib/libkvm/kvm_proc.c Tue Sep 3 17:27:08 2002
@@ -41,7 +41,9 @@
__FBSDID("$FreeBSD: src/lib/libkvm/kvm_proc.c,v 1.54 2002/08/30 02:18:38 peter Exp $");
#if defined(LIBC_SCCS) && !defined(lint)
+#if 0
static char sccsid[] = "@(#)kvm_proc.c 8.3 (Berkeley) 9/23/93";
+#endif
#endif /* LIBC_SCCS and not lint */
/*
@@ -129,14 +131,14 @@
for (; cnt < maxcnt && p != NULL; p = LIST_NEXT(&proc, p_list)) {
memset(kp, 0, sizeof *kp);
if (KREAD(kd, (u_long)p, &proc)) {
- _kvm_err(kd, kd->program, "can't read proc at %x", p);
+ _kvm_err(kd, kd->program, "can't read proc at %p", p);
return (-1);
}
if (proc.p_state != PRS_ZOMBIE) {
if (KREAD(kd, (u_long)TAILQ_FIRST(&proc.p_threads),
&mainthread)) {
_kvm_err(kd, kd->program,
- "can't read thread at %x",
+ "can't read thread at %p",
TAILQ_FIRST(&proc.p_threads));
return (-1);
}
@@ -192,7 +194,7 @@
if (proc.p_procsig != NULL) {
if (KREAD(kd, (u_long)proc.p_procsig, &procsig)) {
_kvm_err(kd, kd->program,
- "can't read procsig at %x", proc.p_procsig);
+ "can't read procsig at %p", proc.p_procsig);
return (-1);
}
kp->ki_sigignore = procsig.ps_sigignore;
@@ -201,7 +203,7 @@
if ((proc.p_sflag & PS_INMEM) && proc.p_stats != NULL) {
if (KREAD(kd, (u_long)proc.p_stats, &pstats)) {
_kvm_err(kd, kd->program,
- "can't read stats at %x", proc.p_stats);
+ "can't read stats at %p", proc.p_stats);
return (-1);
}
kp->ki_start = pstats.p_start;
@@ -217,7 +219,7 @@
else if (proc.p_pptr) {
if (KREAD(kd, (u_long)proc.p_pptr, &pproc)) {
_kvm_err(kd, kd->program,
- "can't read pproc at %x", proc.p_pptr);
+ "can't read pproc at %p", proc.p_pptr);
return (-1);
}
kp->ki_ppid = pproc.p_pid;
@@ -226,14 +228,14 @@
if (proc.p_pgrp == NULL)
goto nopgrp;
if (KREAD(kd, (u_long)proc.p_pgrp, &pgrp)) {
- _kvm_err(kd, kd->program, "can't read pgrp at %x",
+ _kvm_err(kd, kd->program, "can't read pgrp at %p",
proc.p_pgrp);
return (-1);
}
kp->ki_pgid = pgrp.pg_id;
kp->ki_jobc = pgrp.pg_jobc;
if (KREAD(kd, (u_long)pgrp.pg_session, &sess)) {
- _kvm_err(kd, kd->program, "can't read session at %x",
+ _kvm_err(kd, kd->program, "can't read session at %p",
pgrp.pg_session);
return (-1);
}
@@ -246,14 +248,14 @@
if ((proc.p_flag & P_CONTROLT) && sess.s_ttyp != NULL) {
if (KREAD(kd, (u_long)sess.s_ttyp, &tty)) {
_kvm_err(kd, kd->program,
- "can't read tty at %x", sess.s_ttyp);
+ "can't read tty at %p", sess.s_ttyp);
return (-1);
}
kp->ki_tdev = tty.t_dev;
if (tty.t_pgrp != NULL) {
if (KREAD(kd, (u_long)tty.t_pgrp, &pgrp)) {
_kvm_err(kd, kd->program,
- "can't read tpgrp at %x",
+ "can't read tpgrp at %p",
tty.t_pgrp);
return (-1);
}
@@ -263,7 +265,7 @@
if (tty.t_session != NULL) {
if (KREAD(kd, (u_long)tty.t_session, &sess)) {
_kvm_err(kd, kd->program,
- "can't read session at %x",
+ "can't read session at %p",
tty.t_session);
return (-1);
}
@@ -556,7 +558,7 @@
static char **
kvm_argv(kd, kp, addr, narg, maxcnt)
kvm_t *kd;
- struct kinfo_proc *kp;
+ const struct kinfo_proc *kp;
u_long addr;
int narg;
int maxcnt;
@@ -756,7 +758,7 @@
*/
static int
proc_verify(curkp)
- struct kinfo_proc *curkp;
+ const struct kinfo_proc *curkp;
{
struct kinfo_proc newkp;
int mib[4];
@@ -776,7 +778,7 @@
static char **
kvm_doargv(kd, kp, nchr, info)
kvm_t *kd;
- struct kinfo_proc *kp;
+ const struct kinfo_proc *kp;
int nchr;
void (*info)(struct ps_strings *, u_long *, int *);
{
@@ -894,7 +896,7 @@
ssize_t
kvm_uread(kd, kp, uva, buf, len)
kvm_t *kd;
- struct kinfo_proc *kp;
+ const struct kinfo_proc *kp;
u_long uva;
char *buf;
size_t len;
@@ -922,7 +924,7 @@
while (len > 0) {
errno = 0;
if (lseek(fd, (off_t)uva, 0) == -1 && errno != 0) {
- _kvm_err(kd, kd->program, "invalid address (%x) in %s",
+ _kvm_err(kd, kd->program, "invalid address (%lx) in %s",
uva, procfile);
break;
}
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200209031543.g83FhY3o002155>
