lkml.org 
[lkml]   [1999]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: The great alpha compile warning hunt
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/

\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.042 / U:2.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site