From: Subrata M. <su...@li...> - 2009-01-06 06:14:44
|
On Tue, 2009-01-06 at 09:58 +0800, Nancy wrote: > Hi, > Case "endian_switch01" FAIL on IBM Power 6 machine. > > [root@catlp1 bin]# ./endian_switch01 > endian_switch01 1 FAIL : Got SIGILL - test failed > > The case failed on IBM JS22, p570 and p550. Is that the case bug or > the OS bug? Thank you! This will fail for all POWER machines which are not P6 & above, and, for all other archs. However, for other archs, it will throw you appropriate message like: $ ./testcases/bin/endian_switch01 endian_switch01 1 CONF : This system does not support running of switch() syscall In P6 (and above), even it will fail if the kernel is not 2.6.26 & above. The support for this syscall was added only from then. Please see: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=745a14cc264b1832c638e41812e0cb04328b2db1 If you are running 2.6.26 on p6, then we need to investigate why this is failing, else, i would prefer to merge the following patch for avoiding to test in systems where the switch() support is not available at the first place itself. Signed-Off-By: Subrata Modak <su...@li...>, -- --- ltp-intermediate-20090105/testcases/kernel/syscalls/switch/endian_switch01.c.orig 2009-01-06 11:32:16.000000000 +0530 +++ ltp-intermediate-20090105/testcases/kernel/syscalls/switch/endian_switch01.c 2009-01-06 11:34:20.000000000 +0530 @@ -116,6 +116,12 @@ void do_le_switch(void) { } int main4(int ac, char **av, char **envp, unsigned long *auxv) { + + if((tst_kvercmp(2, 6, 26)) < 0) + { + tst_resm(TCONF, "This test can only run on kernels that are 2.6.26 and higher"); + tst_exit(); + } setup(); for (; *auxv != AT_NULL && *auxv != AT_HWCAP; auxv += 2) ; Regards-- Subrata > |