On Fri, Feb 15, 2008 at 05:09:31PM -0700, you wrote:
So, this seems to be restricted to either older kernels, or kernels with a specific config.
Since my last email I've had my primary development machine die from bad capacitors, replaced it, put a new test qemu environment together, tried a variety of kernels working backward from 2.6.24, 2.6.18, 2.6.17, 2.6.16, and finally had a failure with 2.6.8. (woo-hoo!)
I compiled & ran the test.c I attached earlier in the bug log, and it fails with the same "function not implmented error" & strace. In my mind, that suggests that this is a bug in the libc syscall emulation code rather than coreutils, and my inclination is to reassign to libc. Anyone have any other thoughts? (One other thought is that it should simply be downgraded since this shouldn't fail on any kernel released since etch, and we don't support skipping releases.)
(As for reassigning, the logic is that coreutils checks to see if unlinkat(2) is present in libc, and it is, so coreutils uses that rather than its own emulation code. That function works at build time, and works at run time if /proc is mounted. If proc is unmounted, unlinkat(2) suddenly fails. I don't think it's reasonable to expect coreutils to work around that. I do think that coreutils *would* work around that if unlinkat(2) wasn't present.)
Reproducing this is fairly easy if you install sid into a qemu image & then install the 2.6.8-4-686 kernel from sarge, as long as your machine doesn't have puffed up and knocked over capacitors. :-)
Mike Stone -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]