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=raw

I 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

Attachment: 0017-Deal-with-missing-syscalls.patch
Description: Binary data

Attachment: 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

Reply via email to