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