Re: The great alpha compile warning hunt

Jeff Garzik (jgarzik@pobox.com)
Fri, 23 Jul 1999 02:19:35 -0400


Sean Hunter wrote:
>
> I'm busy trying to track down and eliminate a stack of warnings from
> kernel compiles on Alpha. As you know, a lot of these are trivial
> warnings just caused by people making intel assumptions.
>
> 1)size_t == int
>
> This causes a lot of "int format, different argument" warnings in
> printk's. While I know that they're not that important, I'd like not
> to see these if possible.
>
> What's the normal way to fix these sorts of things? Is an explicit
> cast eg:

Thankfully most of these things are printk warning issues.

You should UPcast to a long in most cases, not downcast to an int.

> diff -ur linux.vanilla/fs/nfs/nfs2xdr.c linux/fs/nfs/nfs2xdr.c
> --- linux.vanilla/fs/nfs/nfs2xdr.c Wed Jul 21 12:05:32 1999
> +++ linux/fs/nfs/nfs2xdr.c Wed Jul 21 10:40:29 1999
> @@ -446,7 +446,7 @@
> "NFS: server %s, readdir reply truncated\n",
> clnt->cl_server);
> printk(KERN_WARNING "NFS: nr=%d, slots=%d, len=%d\n",
> - nr, (end - p), len);
> + nr, (int)(end - p), len);
> clnt->cl_flags |= NFS_CLNTF_BUFSIZE;
> break;
>
> ...the approved method? I think this is quite ugly, but have done it
> for all the offending printk's in my config.

No. Cast to a long, and s/%d/%ld/ for that arg. This particular case
will work but in general you definitely don't want to cast pointer
values (or the results of ptr arithmatic) to an int.

> 2)Similar problems with long int format being passed an int arg.
>
> Such as:
> diff -ur linux.vanilla/fs/nfsd/export.c linux/fs/nfsd/export.c
> --- linux.vanilla/fs/nfsd/export.c Tue Dec 29 19:42:25 1998
> +++ linux/fs/nfsd/export.c Wed Jul 21 11:48:09 1999
> @@ -236,7 +236,7 @@
>
> dprintk("exp_export called for %s:%s (%x/%ld fl %x).\n",
> nxp->ex_client, nxp->ex_path,
> - nxp->ex_dev, nxp->ex_ino, nxp->ex_flags);
> + nxp->ex_dev, (long)nxp->ex_ino, nxp->ex_flags);
> dev = to_kdev_t(nxp->ex_dev);
> ino = nxp->ex_ino;

That looks ok.

I actually made these changes myself but was waiting for the filesystem
stuff to settle down before posting it.

Jeff

-- 
One of the most overlooked advantages to computers is...  If they do
foul up, there's no law against whacking them around a little.
                -- Joe Martin

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/