Re: [PATCH] Fix 'make check': undeclared __NR_finit_module
From: Yang Chengwei <hidden>
Date: 2013-05-08 07:47:47
On Tue, May 07, 2013 at 11:57:28PM -0300, Lucas De Marchi wrote:
On Tue, May 7, 2013 at 11:54 AM, Chengwei Yang [off-list ref] wrote:quoted
This issue introduced by a fix for syscall(-1, ...) is invalid on some arch. The error thrown by 'make check' likes below. testsuite/init_module.c: In function 'syscall': testsuite/init_module.c:317:17: error: '__NR_finit_module' undeclared (first use in this function) testsuite/init_module.c:317:17: note: each undeclared identifier is reported only once for each function it appears in make[2]: *** [testsuite/init_module.lo] Error 1 make[1]: *** [check-am] Error 2 make: *** [check-recursive] Error 1 --- libkmod/missing.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)diff --git a/libkmod/missing.h b/libkmod/missing.h index b31af84..52dbcc7 100644 --- a/libkmod/missing.h +++ b/libkmod/missing.h@@ -12,6 +12,10 @@ # define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif +#ifndef __NR_finit_module +# define __NR_finit_module -1 +#endif + #ifndef MODULE_INIT_IGNORE_VERMAGIC # define MODULE_INIT_IGNORE_VERMAGIC 2 #endif@@ -19,11 +23,11 @@ #ifndef HAVE_FINIT_MODULE static inline int finit_module(int fd, const char *uargs, int flags) { -#ifndef __NR_finit_module - errno = ENOSYS; - return -1; -#else - return syscall(__NR_finit_module, fd, uargs, flags); -#endif + if (__NR_finit_module == -1) { + errno = ENOSYS; + return -1; + } else { + return syscall(__NR_finit_module, fd, uargs, flags); + }humn... my bad not applying it to testsuite. But I would expect the same fix being applied to testsuite instead of changing the check to runtime.
Agreed, I'll upload v2 later. -- Thanks, Chengwei
Lucas De Marchi
Attachments
- signature.asc [application/pgp-signature] 490 bytes