I'm working on this bug at the Cambridge BSP, using git://git.debian.org/users/smcv/nmu/dietlibc.git to store my work in progress.
The four families of architecture turn out to be:
* i386, arm, etc. have umount with 1 argument and umount2 with 2 arguments
* amd64 and hppa only have umount2 with 2 arguments
* alpha has oldumount with 1 argument and umount with 2 arguments
* ia64 only has umount with 2 arguments
I've redone my patch to avoid explicit arch-dependence in syscalls.s/*,
and used the attached test case to verify that on i386, amd64 and alpha,
my work-in-progress dietlibc makes the same syscalls as glibc. On ia64
it may or may not be doing the right thing - strace produces confusing
output for both glibc and dietlibc, so I'll investigate further there.
Simon
default:
diet gcc -o dietumount umount.c
strace ./dietumount /foo
strace ./dietumount /foo 1
gcc -o mcumount umount.c
strace ./mcumount /foo
strace ./mcumount /foo 1
#include <sys/mount.h>
int main(int argc, char **argv)
{
if (argc > 2)
return umount2(argv[1], atoi(argv[2]));
else
return umount(argv[1]);
}
signature.asc
Description: Digital signature

