Messages in this thread | | | Date | Wed, 8 Sep 2004 01:47:35 -0700 | From | Andrew Morton <> | Subject | Re: 2.6.9-rc1-mm4 |
| |
Simon Derr <simon.derr@bull.net> wrote: > > Build fails without CONFIG_KEYS: > > kernel/sys.c:283:29: macro "sys_request_key" requires 5 arguments, but only 1 given > kernel/sys.c:283: error: `sys_request_key' defined both normally and as an alias > kernel/sys.c:283: warning: `syscall_linkage' attribute only applies to function types > kernel/sys.c:284:24: macro "sys_keyctl" requires 5 arguments, but only 1 given > kernel/sys.c:284: error: `sys_keyctl' defined both normally and as an alias > kernel/sys.c:284: warning: `syscall_linkage' attribute only applies to function types > > In include/linux/key.h, sys_request_key and sys_keyctl are defined as > macros : > > #define sys_request_key(a,b,c,d,e) (-ENOSYS) > #define sys_keyctl(a,b,c,d,e) (-ENOSYS) > > But in kernel/sys.c, we find: > > cond_syscall(sys_request_key) > cond_syscall(sys_keyctl) > > Which expects these symbols to be real functions, it seems.
Works OK here. What compiler version are you using? And what architecture?
With these #defines in scope:
#define sys_request_key(a,b,c,d,e) (-ENOSYS) #define sys_keyctl(a,b,c,d,e) (-ENOSYS)
the preprocessor should allow
cond_syscall(sys_request_key) cond_syscall(sys_keyctl)
to pass through unscathed. It's a bit unpleasant though. I guess we can just remove those defines from key.h.
- 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/
| |