mirror of https://github.com/xemu-project/xemu.git
linux-user, alpha: fix oldumount syscall
When we try to bootstrap debian/lenny for alpha, it fails because
it cannot umount /.root directory:
...
Setting up initscripts (2.86.ds1-61) ...
umount: /.root: Function not implemented
dpkg: error processing initscripts (--configure):
subprocess post-installation script returned error exit status 1
dpkg: sysvinit: dependency problems, but configuring anyway as you request:
sysvinit depends on initscripts; however:
Package initscripts is not configured yet.
This is because, when we switched from syscall_nr.h to syscall.tbl,
the syscall #321 has been renamed from umount to oldumount and
syscall.c has not been updated to manage the new name.
oldumount has been introduced in linux 2.1.116pre1 by:
7d32756b2 ("Import 2.1.116pre1")
...
* We now support a flag for forced unmount like the other 'big iron'
* unixes. Our API is identical to OSF/1 to avoid making a mess of AMD
...
Fixes: 6116aea994
("linux-user, alpha: add syscall table generation support")
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200502194642.32823-1-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
ddc760832f
commit
6eb9dbf6a7
|
@ -8028,8 +8028,13 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
|||
}
|
||||
}
|
||||
return ret;
|
||||
#ifdef TARGET_NR_umount
|
||||
#if defined(TARGET_NR_umount) || defined(TARGET_NR_oldumount)
|
||||
#if defined(TARGET_NR_umount)
|
||||
case TARGET_NR_umount:
|
||||
#endif
|
||||
#if defined(TARGET_NR_oldumount)
|
||||
case TARGET_NR_oldumount:
|
||||
#endif
|
||||
if (!(p = lock_user_string(arg1)))
|
||||
return -TARGET_EFAULT;
|
||||
ret = get_errno(umount(p));
|
||||
|
|
Loading…
Reference in New Issue