Message ID | mvmmu3qplvi.fsf@suse.de |
---|---|
State | New |
Headers | show |
Series | linux-user: Use getcwd syscall directly | expand |
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index b9144b18fc..e4e46867e8 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -388,14 +388,7 @@ static bitmask_transtbl fcntl_flags_tbl[] = { { 0, 0, 0, 0 } }; -static int sys_getcwd1(char *buf, size_t size) -{ - if (getcwd(buf, size) == NULL) { - /* getcwd() sets errno */ - return (-1); - } - return strlen(buf)+1; -} +_syscall2(int, sys_getcwd1, char *, buf, size_t, size) #ifdef TARGET_NR_utimensat #if defined(__NR_utimensat)
The glibc getcwd function returns different errors than the getcwd syscall, which triggers an assertion failure in the glibc getcwd function when running under the emulation. Signed-off-by: Andreas Schwab <schwab@suse.de> --- linux-user/syscall.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)