|
From: Peter \Firefly\ L. <fi...@di...> - 2006-08-07 03:41:19
|
On Sun, 6 Aug 2006, Amadeus W. M. wrote: > No idea how to write a valgrind wrapper though, so maybe I'll > just stop short of hacking the kernel and valgrind, and wait > till the kernel >= 2.6.17-7 is available in FC5. Here's the background: http://lwn.net/Articles/172149/ http://lwn.net/Articles/172134/ I think you misunderstand the situation: you are not waiting for the kernel to catch up, you are waiting for valgrind to catch up. This is a system call glibc issues even on kernels that don't support it because that's easier than first checking whether it is actually supported. If it isn't, it is quite harmless. glibc very often uses this technique (you can see for yourself by stracing just about any program). In some cases a new system call is tried first and if that fails, an older and less capable system call is tried next. This is often faster and easier than checking kernel version numbers. It also handles backported system call implementations. The thing is, valgrind needs to understand what the program tries to tell the kernel because, who knows, it could be important. You can probably either use an older glibc or if you are lucky tell it to assume it has an older kernel from before this call was introduced (by setting the ASSUME_KERNEL environment variable). Or you can write a very simple syscall wrapper for valgrind that just returns -ENOSYS. There are probably others of that kind already. Good luck :) -Peter |