qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] linux-user: Use getcwd syscall directly
@ 2020-07-23 10:27 Andreas Schwab
  2020-07-24 13:52 ` Laurent Vivier
  2020-07-27 20:07 ` Laurent Vivier
  0 siblings, 2 replies; 7+ messages in thread
From: Andreas Schwab @ 2020-07-23 10:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent

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(-)

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)
-- 
2.26.2


-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."


^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [PATCH] linux-user: Use getcwd syscall directly
@ 2020-04-06 15:18 Andreas Schwab
  2020-04-07 10:36 ` Laurent Vivier
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Schwab @ 2020-04-06 15:18 UTC (permalink / raw)
  To: qemu-devel

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(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 83c2891169..90c5433fec 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -375,14 +375,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)
-- 
2.26.0


-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-07-27 20:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-23 10:27 [PATCH] linux-user: Use getcwd syscall directly Andreas Schwab
2020-07-24 13:52 ` Laurent Vivier
2020-07-27 20:07 ` Laurent Vivier
  -- strict thread matches above, loose matches on Subject: below --
2020-04-06 15:18 Andreas Schwab
2020-04-07 10:36 ` Laurent Vivier
2020-04-07 10:57   ` Peter Maydell
2020-04-07 11:55     ` Andreas Schwab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).