Hello,when building Debian ltp package on alpha, the package failed to build, because alpha lacks some of the syscalls (the xxx_16 ones). See
http://experimental.debian.net/fetch.php?&pkg=ltp&ver=20081031%2Bdfsg-1&arch=alpha&stamp=1225968365&file=log&as=rawI have created some patches, which fix this behaviour (ie. the build doesn't fail then). They work like this:
1. Syscalls which are potentially missing on some architectures are listed in the stub-list
2. If a syscall(x) is called and x is 0 (a value of undefined stub syscalls), the test is aborted by tst_brk(). This is accomplished by a macro wrapper over the syscall() function (this almost eliminates the need of changing the tests in question, and allows the compiler to eliminate parts of tests of nonexistent syscalls as dead code).
The attached patches implement this. Some remarks:- the syscalls added to the stub list are the ones which appear in the kernel sources as __IGNORE_name-of-syscall
- the macro is for gcc only. The test using this mechanism (ie. #including linux_syscall_numbers.h and calling syscall()) must define static function void cleanup(void) to be called when the syscall is missing (the patch also handles this for tests that lack it).
Regards Jiri Palecek
0017-Deal-with-missing-syscalls.patch
Description: Binary data
bintkAZ6V9xTZ.bin
Description: Binary data
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
