On Tue, Jul 21, 2009 at 3:25 AM, CAI Qian<[email protected]> wrote:
> Hi,
>
> I have seen those failures,
>
> # uname -a
> Linux foo.bar.redhat.com 2.6.18-158.el5 #1 SMP Mon Jul 13 16:23:20 EDT
> 2009 s390x s390x s390x GNU/Linux
>
> make[5]: Entering directory 
> `/root/20090721/ltp-intermediate-20090721/testcases/kernel/syscalls/eventfd2'
> gcc -g -O2 -I../../include -g -Wall -I../../../../include -Wall    
> eventfd2_01.c  -L../../../../lib -lltp -o eventfd2_01
> gcc -g -O2 -I../../include -g -Wall -I../../../../include -Wall    
> eventfd2_02.c  -L../../../../lib -lltp -o eventfd2_02
> gcc -g -O2 -I../../include -g -Wall -I../../../../include -Wall    
> eventfd2_03.c  -L../../../../lib -lltp -o eventfd2_03
> eventfd2_03.c: In function ‘xsem_wait’:
> eventfd2_03.c:60: warning: format ‘%llu’ expects type ‘long long unsigned 
> int’, but argument 5 has type ‘u_int64_t’
> eventfd2_03.c: In function ‘main’:
> eventfd2_03.c:129: warning: implicit declaration of function ‘waitpid’
> eventfd2_03.c: At top level:
> ../../include/linux_syscall_numbers.h:19: warning: ‘cleanup’ used but never 
> defined
> /tmp/ccODR9Wd.o: In function `eventfd2':
> /root/20090721/ltp-intermediate-20090721/testcases/kernel/syscalls/eventfd2/eventfd2_03.c:49:
>  undefined reference to `cleanup'
> collect2: ld returned 1 exit status
> make[5]: *** [eventfd2_03] Error 1
> make[5]: Leaving directory 
> `/root/20090721/ltp-intermediate-20090721/testcases/kernel/syscalls/eventfd2'
> make[4]: *** [all] Error 2
> make[4]: Leaving directory 
> `/root/20090721/ltp-intermediate-20090721/testcases/kernel/syscalls'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory 
> `/root/20090721/ltp-intermediate-20090721/testcases/kernel'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory 
> `/root/20090721/ltp-intermediate-20090721/testcases'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/root/20090721/ltp-intermediate-20090721'
> make: *** [build] Error 2

The patch provided below fixes the majority of the compile
errors/warnings. I'm unable to get it to run though by itself, so I
must be missing some critical piece of info.

I was tempted to fix the format string error, but I don't know what
the potential implications are of switching the data type from
u_int64_t to unsigned long long...

> # uname -a
> Linux foo.bar.redhat.com 2.6.18-158.el5 #1 SMP Mon Jul 13
> 16:27:25 EDT 2009 ppc64 ppc64 ppc64 GNU/Linux
>
> make[5]: Entering directory 
> `/root/20090721/ltp-intermediate-20090721/testcases/kernel/syscalls/fstatat'
> gcc -g -O2 -I../../include -g -Wall -I../../../../include -Wall 
> -DTST_USE_NEWER64_SYSCALL=1 -D_FILE_OFFSET_BITS=64   -c -o fstatat01_64.o 
> fstatat01.c
> fstatat01.c: In function ‘main’:
> fstatat01.c:126: error: expected ‘)’ before numeric constant
> make[5]: *** [fstatat01_64.o] Error 1
> make[5]: Leaving directory 
> `/root/20090721/ltp-intermediate-20090721/testcases/kernel/syscalls/fstatat'
> make[4]: *** [all] Error 2
> make[4]: Leaving directory 
> `/root/20090721/ltp-intermediate-20090721/testcases/kernel/syscalls'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory 
> `/root/20090721/ltp-intermediate-20090721/testcases/kernel'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory 
> `/root/20090721/ltp-intermediate-20090721/testcases'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/root/20090721/ltp-intermediate-20090721'
> make: *** [build] Error 2

Missing syscall number. Not sure why it fails for you and passes for
me though... the syscall may need to be added to a .in file.

Thanks,
-Garrett

Fix compiler error noted by CAI Qian w.r.t. the intermediate July release, as...
1. The necessary headers weren't being pulled in for waitpid.
2. gcc was complaining about -Wunused with cleanup.

Signed-off-by: Garrett Cooper <[email protected]>

Index: testcases/kernel/syscalls/eventfd2/eventfd2_03.c
===================================================================
RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/eventfd2/eventfd2_03.c,v
retrieving revision 1.2
diff -u -r1.2 eventfd2_03.c
--- testcases/kernel/syscalls/eventfd2/eventfd2_03.c    6 Jul 2009
14:49:18 -0000       1.2
+++ testcases/kernel/syscalls/eventfd2/eventfd2_03.c    21 Jul 2009
14:15:59 -0000
@@ -26,6 +26,7 @@
 #include <sys/types.h>
 #include <sys/syscall.h>
 #include <sys/stat.h>
+#include <sys/wait.h>
 #include <fcntl.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -44,6 +45,8 @@
 #define EFD_SEMLIKE (1 << 0)
 #endif

+/* Dummy function reference to avoid compiler warning from
linux_syscall_numbers.h. */
+extern void cleanup() { }

 static int eventfd2(int count, int flags) {
        return syscall(__NR_eventfd2, count, flags);

------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to