lkml.org 
[lkml]   [2003]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectSome Warning from gcc-3.4-cvs for 2.5.65
Hi !

Here are some Warning got when compiling Linux 2.6.65 (devfs not configured)
with the latest gcc-3.4 CVS :

include/linux/devfs_fs_kernel.h: In function `devfs_remove':
include/linux/devfs_fs_kernel.h:101: warning: varargs function cannot be
inline

Possible Fix :

Replace inline-func with macro

--- devfs_fs_kernel.h.orig 2003-03-21 13:28:24.000000000 +0000
+++ devfs_fs_kernel.h 2003-03-21 13:30:28.000000000 +0000
@@ -97,9 +97,9 @@
{
return NULL;
}
-static inline void devfs_remove(const char *fmt, ...)
-{
-}
+
+#define devfs_remove(x, ...) do { ; } while (0)
+
static inline int devfs_generate_path (devfs_handle_t de, char *path,
int buflen)
{
---
include/linux/kallsyms.h: In function `__check_printsym_format':
include/linux/kallsyms.h:38: warning: varargs function cannot be inline

> /* This macro allows us to keep printk typechecking */
> static void __check_printsym_format(const char *fmt, ...)
>__attribute__((format(printf,1,2)));
> static inline void __check_printsym_format(const char *fmt, ...)
> {
> }

I think the inline-attribute should be simply removed to quiet this Warning.

---
arch/i386/kernel/ptrace.c: In function `sys_ptrace':
warning: `__pu_err' might be used uninitialized in this function

This comes from include/asm-i386

> #define __put_user_nocheck(x,ptr,size) \
> ({ \
> long __pu_err; \
> __put_user_size((x),(ptr),(size),__pu_err,-EFAULT); \
> __pu_err; \
> })

__pu_err is shurely not initialized, but migth this be intentionally ?

---
kernel/fork.c: In function `copy_fs':
kernel/fork.c:569: warning: function cannot be inline
kernel/fork.c: In function `copy_process':
kernel/fork.c:569: warning: can't inline call to `copy_fs'
kernel/fork.c:882: warning: called from here

I dont understand WHY copy_fs cannont be inlined ...

kernel/posix-timers.c: In function `unlock_timer':
kernel/posix-timers.c:564: warning: function cannot be inline

ditto
---
kernel/suspend.c: In function `freeze_processes':
kernel/suspend.c:228: warning: comparison of distinct pointer types lacks a
cast

---
drivers/char/vt.c:2457: warning: `return' with a value, in function
returning void
drivers/char/vt.c:2497: warning: initialization from incompatible pointer
type

I think these Warnings appear as con_init is declared as
static void __init con_init(void);
but typedef int (*initcall_t)(void);
suggests that it migth better be static int __init con_init(void) ??

Regards,

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

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