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]);
}

Attachment: signature.asc
Description: Digital signature

Reply via email to