From: Michael Adler Date: Thu, 24 Jul 2008 23:31:33 +0000 (-0700) Subject: syscall: Fix TTY emulation in fstat() user-mode simulation for fd 1 (stdout). X-Git-Tag: m5_2.0_beta6~73 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f3a3ab7f2cfdae687a1dc07dff10c7fa4bde921c;p=gem5.git syscall: Fix TTY emulation in fstat() user-mode simulation for fd 1 (stdout). The code didn't set S_IFCHR in the st_mode --- diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh index 6dafee34c..caf269918 100644 --- a/src/sim/syscall_emul.hh +++ b/src/sim/syscall_emul.hh @@ -380,6 +380,11 @@ convertStatBuf(target_stat &tgt, host_stat *host, bool fakeTTY = false) tgt->st_ino = host->st_ino; tgt->st_ino = htog(tgt->st_ino); tgt->st_mode = host->st_mode; + if (fakeTTY) { + // Claim to be a character device + tgt->st_mode &= ~S_IFMT; // Clear S_IFMT + tgt->st_mode |= S_IFCHR; // Set S_IFCHR + } tgt->st_mode = htog(tgt->st_mode); tgt->st_nlink = host->st_nlink; tgt->st_nlink = htog(tgt->st_nlink);