aboutsummaryrefslogtreecommitdiff
path: root/sim/common
diff options
context:
space:
mode:
Diffstat (limited to 'sim/common')
-rw-r--r--sim/common/ChangeLog9
-rw-r--r--sim/common/gennltvals.sh2
-rw-r--r--sim/common/nltvals.def745
-rw-r--r--sim/common/sim-io.c12
-rw-r--r--sim/common/sim-io.h6
5 files changed, 390 insertions, 384 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 0923522..a80ec8f 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,3 +1,12 @@
+2011-03-21 Kevin Buettner <kevinb@redhat.com>
+
+ * gennltvals.sh: Search sys/_default_fcntl.h, in addition to
+ fcntl.h and sys/fcntl.h, for constants.
+ * nltvals.def: Regenerate.
+ * sim-io.c (sim_io_stat, sim_io_fstat): New functions.
+ * sim-io.h (sys/types.h, sys/stat.h): Include.
+ (sim_io_stat, sim_io_fstat): Declare.
+
2011-03-14 Mike Frysinger <vapier@gentoo.org>
* callback.c, cgen-engine.h, dv-core.c, dv-glue.c, dv-pal.c,
diff --git a/sim/common/gennltvals.sh b/sim/common/gennltvals.sh
index d882e20..bbab145 100644
--- a/sim/common/gennltvals.sh
+++ b/sim/common/gennltvals.sh
@@ -20,7 +20,7 @@ $shell ${srccom}/gentvals.sh "" signal ${srcroot}/newlib/libc/include \
"signal.h sys/signal.h" 'SIG[A-Z0-9]*' "${cpp}"
$shell ${srccom}/gentvals.sh "" open ${srcroot}/newlib/libc/include \
- "fcntl.h sys/fcntl.h" 'O_[A-Z0-9]*' "${cpp}"
+ "fcntl.h sys/fcntl.h sys/_default_fcntl.h" 'O_[A-Z0-9]*' "${cpp}"
# Unfortunately, each newlib/libgloss port has seen fit to define their own
# syscall.h file. This means that system call numbers can vary for each port.
diff --git a/sim/common/nltvals.def b/sim/common/nltvals.def
index ab051b1..07c76a1 100644
--- a/sim/common/nltvals.def
+++ b/sim/common/nltvals.def
@@ -4,186 +4,189 @@
/* from errno.h */
/* from sys/errno.h */
/* begin errno target macros */
- { "E2BIG", 7 },
- { "EACCES", 13 },
- { "EADDRINUSE", 112 },
- { "EADDRNOTAVAIL", 125 },
- { "EADV", 68 },
- { "EAFNOSUPPORT", 106 },
- { "EAGAIN", 11 },
- { "EALREADY", 120 },
- { "EBADE", 50 },
- { "EBADF", 9 },
- { "EBADFD", 81 },
- { "EBADMSG", 77 },
- { "EBADR", 51 },
- { "EBADRQC", 54 },
- { "EBADSLT", 55 },
- { "EBFONT", 57 },
- { "EBUSY", 16 },
- { "ECHILD", 10 },
- { "ECHRNG", 37 },
- { "ECOMM", 70 },
- { "ECONNABORTED", 113 },
- { "ECONNREFUSED", 111 },
- { "ECONNRESET", 104 },
- { "EDEADLK", 45 },
- { "EDEADLOCK", 56 },
- { "EDESTADDRREQ", 121 },
- { "EDOM", 33 },
- { "EDOTDOT", 76 },
- { "EDQUOT", 132 },
- { "EEXIST", 17 },
- { "EFAULT", 14 },
- { "EFBIG", 27 },
- { "EHOSTDOWN", 117 },
- { "EHOSTUNREACH", 118 },
- { "EIDRM", 36 },
- { "EINPROGRESS", 119 },
- { "EINTR", 4 },
- { "EINVAL", 22 },
- { "EIO", 5 },
- { "EISCONN", 127 },
- { "EISDIR", 21 },
- { "EL2HLT", 44 },
- { "EL2NSYNC", 38 },
- { "EL3HLT", 39 },
- { "EL3RST", 40 },
- { "ELBIN", 75 },
- { "ELIBACC", 83 },
- { "ELIBBAD", 84 },
- { "ELIBEXEC", 87 },
- { "ELIBMAX", 86 },
- { "ELIBSCN", 85 },
- { "ELNRNG", 41 },
- { "ELOOP", 92 },
- { "EMFILE", 24 },
- { "EMLINK", 31 },
- { "EMSGSIZE", 122 },
- { "EMULTIHOP", 74 },
- { "ENAMETOOLONG", 91 },
- { "ENETDOWN", 115 },
- { "ENETRESET", 126 },
- { "ENETUNREACH", 114 },
- { "ENFILE", 23 },
- { "ENMFILE", 89 },
- { "ENOANO", 53 },
- { "ENOBUFS", 105 },
- { "ENOCSI", 43 },
- { "ENODATA", 61 },
- { "ENODEV", 19 },
- { "ENOENT", 2 },
- { "ENOEXEC", 8 },
- { "ENOLCK", 46 },
- { "ENOLINK", 67 },
- { "ENOMEM", 12 },
- { "ENOMSG", 35 },
- { "ENONET", 64 },
- { "ENOPKG", 65 },
- { "ENOPROTOOPT", 109 },
- { "ENOSPC", 28 },
- { "ENOSR", 63 },
- { "ENOSTR", 60 },
- { "ENOSYS", 88 },
- { "ENOTBLK", 15 },
- { "ENOTCONN", 128 },
- { "ENOTDIR", 20 },
- { "ENOTEMPTY", 90 },
- { "ENOTSOCK", 108 },
- { "ENOTSUP", 134 },
- { "ENOTTY", 25 },
- { "ENOTUNIQ", 80 },
- { "ENXIO", 6 },
- { "EOPNOTSUPP", 95 },
- { "EPERM", 1 },
- { "EPFNOSUPPORT", 96 },
- { "EPIPE", 32 },
- { "EPROCLIM", 130 },
- { "EPROTO", 71 },
- { "EPROTONOSUPPORT", 123 },
- { "EPROTOTYPE", 107 },
- { "ERANGE", 34 },
- { "EREMCHG", 82 },
- { "EREMOTE", 66 },
- { "EROFS", 30 },
- { "ESHUTDOWN", 110 },
- { "ESOCKTNOSUPPORT", 124 },
- { "ESPIPE", 29 },
- { "ESRCH", 3 },
- { "ESRMNT", 69 },
- { "ESTALE", 133 },
- { "ETIME", 62 },
- { "ETIMEDOUT", 116 },
- { "ETOOMANYREFS", 129 },
- { "ETXTBSY", 26 },
- { "EUNATCH", 42 },
- { "EUSERS", 131 },
- { "EWOULDBLOCK", 11 },
- { "EXDEV", 18 },
- { "EXFULL", 52 },
+ { "E2BIG", 7 },
+ { "EACCES", 13 },
+ { "EADDRINUSE", 112 },
+ { "EADDRNOTAVAIL", 125 },
+ { "EAFNOSUPPORT", 106 },
+ { "EAGAIN", 11 },
+ { "EALREADY", 120 },
+ { "EBADF", 9 },
+ { "EBADMSG", 77 },
+ { "EBUSY", 16 },
+ { "ECANCELED", 140 },
+ { "ECHILD", 10 },
+ { "ECONNABORTED", 113 },
+ { "ECONNREFUSED", 111 },
+ { "ECONNRESET", 104 },
+ { "EDEADLK", 45 },
+ { "EDESTADDRREQ", 121 },
+ { "EDOM", 33 },
+ { "EDQUOT", 132 },
+ { "EEXIST", 17 },
+ { "EFAULT", 14 },
+ { "EFBIG", 27 },
+ { "EFTYPE", 79 },
+ { "EHOSTDOWN", 117 },
+ { "EHOSTUNREACH", 118 },
+ { "EIDRM", 36 },
+ { "EILSEQ", 138 },
+ { "EINPROGRESS", 119 },
+ { "EINTR", 4 },
+ { "EINVAL", 22 },
+ { "EIO", 5 },
+ { "EISCONN", 127 },
+ { "EISDIR", 21 },
+ { "ELOOP", 92 },
+ { "EMFILE", 24 },
+ { "EMLINK", 31 },
+ { "EMSGSIZE", 122 },
+ { "EMULTIHOP", 74 },
+ { "ENAMETOOLONG", 91 },
+ { "ENETDOWN", 115 },
+ { "ENETRESET", 126 },
+ { "ENETUNREACH", 114 },
+ { "ENFILE", 23 },
+ { "ENOBUFS", 105 },
+ { "ENODATA", 61 },
+ { "ENODEV", 19 },
+ { "ENOENT", 2 },
+ { "ENOEXEC", 8 },
+ { "ENOLCK", 46 },
+ { "ENOLINK", 67 },
+ { "ENOMEM", 12 },
+ { "ENOMSG", 35 },
+ { "ENOPROTOOPT", 109 },
+ { "ENOSPC", 28 },
+ { "ENOSR", 63 },
+ { "ENOSTR", 60 },
+ { "ENOSYS", 88 },
+ { "ENOTCONN", 128 },
+ { "ENOTDIR", 20 },
+ { "ENOTEMPTY", 90 },
+ { "ENOTRECOVERABLE", 141 },
+ { "ENOTSOCK", 108 },
+ { "ENOTSUP", 134 },
+ { "ENOTTY", 25 },
+ { "ENXIO", 6 },
+ { "EOPNOTSUPP", 95 },
+ { "EOVERFLOW", 139 },
+ { "EOWNERDEAD", 142 },
+ { "EPERM", 1 },
+ { "EPFNOSUPPORT", 96 },
+ { "EPIPE", 32 },
+ { "EPROTO", 71 },
+ { "EPROTONOSUPPORT", 123 },
+ { "EPROTOTYPE", 107 },
+ { "ERANGE", 34 },
+ { "EROFS", 30 },
+ { "ESPIPE", 29 },
+ { "ESRCH", 3 },
+ { "ESTALE", 133 },
+ { "ETIME", 62 },
+ { "ETIMEDOUT", 116 },
+ { "ETOOMANYREFS", 129 },
+ { "ETXTBSY", 26 },
+ { "EWOULDBLOCK", 11 },
+ { "EXDEV", 18 },
/* end errno target macros */
#endif
#ifdef signal_defs
/* from signal.h */
/* from sys/signal.h */
/* begin signal target macros */
- { "SIGABRT", 6 },
- { "SIGALRM", 14 },
- { "SIGBUS", 10 },
- { "SIGCHLD", 20 },
- { "SIGCLD", 20 },
- { "SIGCONT", 19 },
- { "SIGEMT", 7 },
- { "SIGFPE", 8 },
- { "SIGHUP", 1 },
- { "SIGILL", 4 },
- { "SIGINT", 2 },
- { "SIGIO", 23 },
- { "SIGIOT", 6 },
- { "SIGKILL", 9 },
- { "SIGLOST", 29 },
- { "SIGPIPE", 13 },
- { "SIGPOLL", 23 },
- { "SIGPROF", 27 },
- { "SIGQUIT", 3 },
- { "SIGSEGV", 11 },
- { "SIGSTOP", 17 },
- { "SIGSYS", 12 },
- { "SIGTERM", 15 },
- { "SIGTRAP", 5 },
- { "SIGTSTP", 18 },
- { "SIGTTIN", 21 },
- { "SIGTTOU", 22 },
- { "SIGURG", 16 },
- { "SIGUSR1", 30 },
- { "SIGUSR2", 31 },
- { "SIGVTALRM", 26 },
- { "SIGWINCH", 28 },
- { "SIGXCPU", 24 },
- { "SIGXFSZ", 25 },
+ { "SIGABRT", 6 },
+ { "SIGALRM", 14 },
+ { "SIGBUS", 10 },
+ { "SIGCHLD", 20 },
+ { "SIGCLD", 20 },
+ { "SIGCONT", 19 },
+ { "SIGEMT", 7 },
+ { "SIGFPE", 8 },
+ { "SIGHUP", 1 },
+ { "SIGILL", 4 },
+ { "SIGINT", 2 },
+ { "SIGIO", 23 },
+ { "SIGIOT", 6 },
+ { "SIGKILL", 9 },
+ { "SIGLOST", 29 },
+ { "SIGPIPE", 13 },
+ { "SIGPOLL", 23 },
+ { "SIGPROF", 27 },
+ { "SIGQUIT", 3 },
+ { "SIGSEGV", 11 },
+ { "SIGSTOP", 17 },
+ { "SIGSYS", 12 },
+ { "SIGTERM", 15 },
+ { "SIGTRAP", 5 },
+ { "SIGTSTP", 18 },
+ { "SIGTTIN", 21 },
+ { "SIGTTOU", 22 },
+ { "SIGURG", 16 },
+ { "SIGUSR1", 30 },
+ { "SIGUSR2", 31 },
+ { "SIGVTALRM", 26 },
+ { "SIGWINCH", 28 },
+ { "SIGXCPU", 24 },
+ { "SIGXFSZ", 25 },
/* end signal target macros */
#endif
#ifdef open_defs
/* from fcntl.h */
/* from sys/fcntl.h */
+/* from sys/_default_fcntl.h */
/* begin open target macros */
- { "O_ACCMODE", (0 | 1 | 2 ) },
- { "O_APPEND", 0x0008 },
- { "O_CREAT", 0x0200 },
- { "O_EXCL", 0x0800 },
- { "O_NOCTTY", 0x8000 },
- { "O_NONBLOCK", 0x4000 },
- { "O_RDONLY", 0 },
- { "O_RDWR", 2 },
- { "O_SYNC", 0x2000 },
- { "O_TRUNC", 0x0400 },
- { "O_WRONLY", 1 },
+ { "O_ACCMODE", (0|1|2) },
+ { "O_APPEND", 0x0008 },
+ { "O_CREAT", 0x0200 },
+ { "O_EXCL", 0x0800 },
+ { "O_NOCTTY", 0x8000 },
+ { "O_NONBLOCK", 0x4000 },
+ { "O_RDONLY", 0 },
+ { "O_RDWR", 2 },
+ { "O_SYNC", 0x2000 },
+ { "O_TRUNC", 0x0400 },
+ { "O_WRONLY", 1 },
/* end open target macros */
#endif
-#ifdef NL_TARGET_bfin
+#ifdef NL_TARGET_d10v
#ifdef sys_defs
/* from syscall.h */
-/* begin bfin sys target macros */
+/* begin d10v sys target macros */
+ { "SYS_ARG", 24 },
+ { "SYS_chdir", 12 },
+ { "SYS_chmod", 15 },
+ { "SYS_chown", 16 },
+ { "SYS_close", 6 },
+ { "SYS_creat", 8 },
+ { "SYS_execv", 11 },
+ { "SYS_execve", 59 },
+ { "SYS_exit", 1 },
+ { "SYS_fork", 2 },
+ { "SYS_fstat", 22 },
+ { "SYS_getpid", 20 },
+ { "SYS_isatty", 21 },
+ { "SYS_kill", 60 },
+ { "SYS_link", 9 },
+ { "SYS_lseek", 19 },
+ { "SYS_mknod", 14 },
+ { "SYS_open", 5 },
+ { "SYS_pipe", 42 },
+ { "SYS_read", 3 },
+ { "SYS_stat", 38 },
+ { "SYS_time", 23 },
+ { "SYS_unlink", 10 },
+ { "SYS_utime", 201 },
+ { "SYS_wait", 202 },
+ { "SYS_wait4", 7 },
+ { "SYS_write", 4 },
+/* end d10v sys target macros */
+#endif
+#endif
+#ifdef NL_TARGET_cr16
+#ifdef sys_defs
+/* from syscall.h */
+/* begin cr16 sys target macros */
{ "SYS_argc", 22 },
{ "SYS_argn", 24 },
{ "SYS_argnlen", 23 },
@@ -201,70 +204,44 @@
{ "SYS_lseek", 6 },
{ "SYS_open", 2 },
{ "SYS_read", 4 },
+ { "SYS_reconfig", 25 },
{ "SYS_stat", 15 },
{ "SYS_time", 18 },
{ "SYS_times", 20 },
{ "SYS_unlink", 7 },
{ "SYS_utime", 17 },
{ "SYS_write", 5 },
-/* end bfin sys target macros */
-#endif
-#endif
-#ifdef NL_TARGET_d10v
-#ifdef sys_defs
-/* from syscall.h */
-/* begin d10v sys target macros */
- { "SYS_ARG", 24 },
- { "SYS_chdir", 12 },
- { "SYS_chmod", 15 },
- { "SYS_chown", 16 },
- { "SYS_close", 6 },
- { "SYS_creat", 8 },
- { "SYS_execv", 11 },
- { "SYS_execve", 59 },
- { "SYS_exit", 1 },
- { "SYS_fork", 2 },
- { "SYS_fstat", 22 },
- { "SYS_getpid", 20 },
- { "SYS_isatty", 21 },
- { "SYS_kill", 60 },
- { "SYS_link", 9 },
- { "SYS_lseek", 19 },
- { "SYS_mknod", 14 },
- { "SYS_open", 5 },
- { "SYS_pipe", 42 },
- { "SYS_read", 3 },
- { "SYS_stat", 38 },
- { "SYS_time", 23 },
- { "SYS_unlink", 10 },
- { "SYS_utime", 201 },
- { "SYS_wait", 202 },
- { "SYS_wait4", 7 },
- { "SYS_write", 4 },
-/* end d10v sys target macros */
+/* end cr16 sys target macros */
#endif
#endif
#ifdef NL_TARGET_fr30
#ifdef sys_defs
/* from syscall.h */
/* begin fr30 sys target macros */
- { "SYS_argv", 13 },
- { "SYS_argvlen", 12 },
- { "SYS_chdir", 14 },
- { "SYS_chmod", 16 },
- { "SYS_close", 3 },
- { "SYS_exit", 1 },
- { "SYS_fstat", 10 },
- { "SYS_getpid", 8 },
- { "SYS_kill", 9 },
- { "SYS_lseek", 6 },
- { "SYS_open", 2 },
- { "SYS_read", 4 },
- { "SYS_stat", 15 },
- { "SYS_time", 18 },
- { "SYS_unlink", 7 },
- { "SYS_utime", 17 },
- { "SYS_write", 5 },
+ { "SYS_argc", 22 },
+ { "SYS_argn", 24 },
+ { "SYS_argnlen", 23 },
+ { "SYS_argv", 13 },
+ { "SYS_argvlen", 12 },
+ { "SYS_chdir", 14 },
+ { "SYS_chmod", 16 },
+ { "SYS_close", 3 },
+ { "SYS_exit", 1 },
+ { "SYS_fstat", 10 },
+ { "SYS_getpid", 8 },
+ { "SYS_gettimeofday", 19 },
+ { "SYS_kill", 9 },
+ { "SYS_link", 21 },
+ { "SYS_lseek", 6 },
+ { "SYS_open", 2 },
+ { "SYS_read", 4 },
+ { "SYS_reconfig", 25 },
+ { "SYS_stat", 15 },
+ { "SYS_time", 18 },
+ { "SYS_times", 20 },
+ { "SYS_unlink", 7 },
+ { "SYS_utime", 17 },
+ { "SYS_write", 5 },
/* end fr30 sys target macros */
#endif
#endif
@@ -272,25 +249,30 @@
#ifdef sys_defs
/* from syscall.h */
/* begin frv sys target macros */
- { "SYS_argv", 13 },
- { "SYS_argvlen", 12 },
- { "SYS_chdir", 14 },
- { "SYS_chmod", 16 },
- { "SYS_close", 3 },
- { "SYS_exit", 1 },
- { "SYS_fstat", 10 },
- { "SYS_getpid", 8 },
- { "SYS_gettimeofday", 19 },
- { "SYS_kill", 9 },
- { "SYS_lseek", 6 },
- { "SYS_open", 2 },
- { "SYS_read", 4 },
- { "SYS_stat", 15 },
- { "SYS_time", 18 },
- { "SYS_times", 20 },
- { "SYS_unlink", 7 },
- { "SYS_utime", 17 },
- { "SYS_write", 5 },
+ { "SYS_argc", 22 },
+ { "SYS_argn", 24 },
+ { "SYS_argnlen", 23 },
+ { "SYS_argv", 13 },
+ { "SYS_argvlen", 12 },
+ { "SYS_chdir", 14 },
+ { "SYS_chmod", 16 },
+ { "SYS_close", 3 },
+ { "SYS_exit", 1 },
+ { "SYS_fstat", 10 },
+ { "SYS_getpid", 8 },
+ { "SYS_gettimeofday", 19 },
+ { "SYS_kill", 9 },
+ { "SYS_link", 21 },
+ { "SYS_lseek", 6 },
+ { "SYS_open", 2 },
+ { "SYS_read", 4 },
+ { "SYS_reconfig", 25 },
+ { "SYS_stat", 15 },
+ { "SYS_time", 18 },
+ { "SYS_times", 20 },
+ { "SYS_unlink", 7 },
+ { "SYS_utime", 17 },
+ { "SYS_write", 5 },
/* end frv sys target macros */
#endif
#endif
@@ -298,23 +280,23 @@
#ifdef sys_defs
/* from syscall.h */
/* begin i960 sys target macros */
- { "SYS_argv", 13 },
- { "SYS_argvlen", 12 },
- { "SYS_chdir", 14 },
- { "SYS_chmod", 16 },
- { "SYS_close", 234 },
- { "SYS_exit", 257 },
- { "SYS_fstat", 10 },
- { "SYS_getpid", 8 },
- { "SYS_kill", 9 },
- { "SYS_lseek", 233 },
- { "SYS_open", 230 },
- { "SYS_read", 231 },
- { "SYS_stat", 15 },
- { "SYS_time", 18 },
- { "SYS_unlink", 7 },
- { "SYS_utime", 17 },
- { "SYS_write", 232 },
+ { "SYS_argv", 13 },
+ { "SYS_argvlen", 12 },
+ { "SYS_chdir", 14 },
+ { "SYS_chmod", 16 },
+ { "SYS_close", 234 },
+ { "SYS_exit", 257 },
+ { "SYS_fstat", 10 },
+ { "SYS_getpid", 8 },
+ { "SYS_kill", 9 },
+ { "SYS_lseek", 233 },
+ { "SYS_open", 230 },
+ { "SYS_read", 231 },
+ { "SYS_stat", 15 },
+ { "SYS_time", 18 },
+ { "SYS_unlink", 7 },
+ { "SYS_utime", 17 },
+ { "SYS_write", 232 },
/* end i960 sys target macros */
#endif
#endif
@@ -322,23 +304,30 @@
#ifdef sys_defs
/* from syscall.h */
/* begin m32r sys target macros */
- { "SYS_argv", 13 },
- { "SYS_argvlen", 12 },
- { "SYS_chdir", 14 },
- { "SYS_chmod", 16 },
- { "SYS_close", 3 },
- { "SYS_exit", 1 },
- { "SYS_fstat", 10 },
- { "SYS_getpid", 8 },
- { "SYS_kill", 9 },
- { "SYS_lseek", 6 },
- { "SYS_open", 2 },
- { "SYS_read", 4 },
- { "SYS_stat", 15 },
- { "SYS_time", 18 },
- { "SYS_unlink", 7 },
- { "SYS_utime", 17 },
- { "SYS_write", 5 },
+ { "SYS_argc", 22 },
+ { "SYS_argn", 24 },
+ { "SYS_argnlen", 23 },
+ { "SYS_argv", 13 },
+ { "SYS_argvlen", 12 },
+ { "SYS_chdir", 14 },
+ { "SYS_chmod", 16 },
+ { "SYS_close", 3 },
+ { "SYS_exit", 1 },
+ { "SYS_fstat", 10 },
+ { "SYS_getpid", 8 },
+ { "SYS_gettimeofday", 19 },
+ { "SYS_kill", 9 },
+ { "SYS_link", 21 },
+ { "SYS_lseek", 6 },
+ { "SYS_open", 2 },
+ { "SYS_read", 4 },
+ { "SYS_reconfig", 25 },
+ { "SYS_stat", 15 },
+ { "SYS_time", 18 },
+ { "SYS_times", 20 },
+ { "SYS_unlink", 7 },
+ { "SYS_utime", 17 },
+ { "SYS_write", 5 },
/* end m32r sys target macros */
#endif
#endif
@@ -346,23 +335,30 @@
#ifdef sys_defs
/* from syscall.h */
/* begin mn10200 sys target macros */
- { "SYS_argv", 13 },
- { "SYS_argvlen", 12 },
- { "SYS_chdir", 14 },
- { "SYS_chmod", 16 },
- { "SYS_close", 3 },
- { "SYS_exit", 1 },
- { "SYS_fstat", 10 },
- { "SYS_getpid", 8 },
- { "SYS_kill", 9 },
- { "SYS_lseek", 6 },
- { "SYS_open", 2 },
- { "SYS_read", 4 },
- { "SYS_stat", 15 },
- { "SYS_time", 18 },
- { "SYS_unlink", 7 },
- { "SYS_utime", 17 },
- { "SYS_write", 5 },
+ { "SYS_argc", 22 },
+ { "SYS_argn", 24 },
+ { "SYS_argnlen", 23 },
+ { "SYS_argv", 13 },
+ { "SYS_argvlen", 12 },
+ { "SYS_chdir", 14 },
+ { "SYS_chmod", 16 },
+ { "SYS_close", 3 },
+ { "SYS_exit", 1 },
+ { "SYS_fstat", 10 },
+ { "SYS_getpid", 8 },
+ { "SYS_gettimeofday", 19 },
+ { "SYS_kill", 9 },
+ { "SYS_link", 21 },
+ { "SYS_lseek", 6 },
+ { "SYS_open", 2 },
+ { "SYS_read", 4 },
+ { "SYS_reconfig", 25 },
+ { "SYS_stat", 15 },
+ { "SYS_time", 18 },
+ { "SYS_times", 20 },
+ { "SYS_unlink", 7 },
+ { "SYS_utime", 17 },
+ { "SYS_write", 5 },
/* end mn10200 sys target macros */
#endif
#endif
@@ -370,23 +366,30 @@
#ifdef sys_defs
/* from syscall.h */
/* begin mn10300 sys target macros */
- { "SYS_argv", 13 },
- { "SYS_argvlen", 12 },
- { "SYS_chdir", 14 },
- { "SYS_chmod", 16 },
- { "SYS_close", 3 },
- { "SYS_exit", 1 },
- { "SYS_fstat", 10 },
- { "SYS_getpid", 8 },
- { "SYS_kill", 9 },
- { "SYS_lseek", 6 },
- { "SYS_open", 2 },
- { "SYS_read", 4 },
- { "SYS_stat", 15 },
- { "SYS_time", 18 },
- { "SYS_unlink", 7 },
- { "SYS_utime", 17 },
- { "SYS_write", 5 },
+ { "SYS_argc", 22 },
+ { "SYS_argn", 24 },
+ { "SYS_argnlen", 23 },
+ { "SYS_argv", 13 },
+ { "SYS_argvlen", 12 },
+ { "SYS_chdir", 14 },
+ { "SYS_chmod", 16 },
+ { "SYS_close", 3 },
+ { "SYS_exit", 1 },
+ { "SYS_fstat", 10 },
+ { "SYS_getpid", 8 },
+ { "SYS_gettimeofday", 19 },
+ { "SYS_kill", 9 },
+ { "SYS_link", 21 },
+ { "SYS_lseek", 6 },
+ { "SYS_open", 2 },
+ { "SYS_read", 4 },
+ { "SYS_reconfig", 25 },
+ { "SYS_stat", 15 },
+ { "SYS_time", 18 },
+ { "SYS_times", 20 },
+ { "SYS_unlink", 7 },
+ { "SYS_utime", 17 },
+ { "SYS_write", 5 },
/* end mn10300 sys target macros */
#endif
#endif
@@ -394,23 +397,30 @@
#ifdef sys_defs
/* from syscall.h */
/* begin sparc sys target macros */
- { "SYS_argv", 13 },
- { "SYS_argvlen", 12 },
- { "SYS_chdir", 14 },
- { "SYS_chmod", 16 },
- { "SYS_close", 3 },
- { "SYS_exit", 1 },
- { "SYS_fstat", 10 },
- { "SYS_getpid", 8 },
- { "SYS_kill", 9 },
- { "SYS_lseek", 6 },
- { "SYS_open", 2 },
- { "SYS_read", 4 },
- { "SYS_stat", 15 },
- { "SYS_time", 18 },
- { "SYS_unlink", 7 },
- { "SYS_utime", 17 },
- { "SYS_write", 5 },
+ { "SYS_argc", 22 },
+ { "SYS_argn", 24 },
+ { "SYS_argnlen", 23 },
+ { "SYS_argv", 13 },
+ { "SYS_argvlen", 12 },
+ { "SYS_chdir", 14 },
+ { "SYS_chmod", 16 },
+ { "SYS_close", 3 },
+ { "SYS_exit", 1 },
+ { "SYS_fstat", 10 },
+ { "SYS_getpid", 8 },
+ { "SYS_gettimeofday", 19 },
+ { "SYS_kill", 9 },
+ { "SYS_link", 21 },
+ { "SYS_lseek", 6 },
+ { "SYS_open", 2 },
+ { "SYS_read", 4 },
+ { "SYS_reconfig", 25 },
+ { "SYS_stat", 15 },
+ { "SYS_time", 18 },
+ { "SYS_times", 20 },
+ { "SYS_unlink", 7 },
+ { "SYS_utime", 17 },
+ { "SYS_write", 5 },
/* end sparc sys target macros */
#endif
#endif
@@ -418,76 +428,44 @@
#ifdef sys_defs
/* from syscall.h */
/* begin v850 sys target macros */
- { "SYS_ARG", 24 },
- { "SYS_chdir", 12 },
- { "SYS_chmod", 15 },
- { "SYS_chown", 16 },
- { "SYS_close", 6 },
- { "SYS_creat", 8 },
- { "SYS_execv", 11 },
- { "SYS_execve", 59 },
- { "SYS_exit", 1 },
- { "SYS_fork", 2 },
- { "SYS_fstat", 22 },
- { "SYS_getpid", 20 },
- { "SYS_gettimeofday", 116 },
- { "SYS_isatty", 21 },
- { "SYS_link", 9 },
- { "SYS_lseek", 19 },
- { "SYS_mknod", 14 },
- { "SYS_open", 5 },
- { "SYS_pipe", 42 },
- { "SYS_read", 3 },
- { "SYS_stat", 38 },
- { "SYS_time", 23 },
- { "SYS_unlink", 10 },
- { "SYS_utime", 201 },
- { "SYS_wait", 202 },
- { "SYS_wait4", 7 },
- { "SYS_write", 4 },
+ { "SYS_ARG", 24 },
+ { "SYS_chdir", 12 },
+ { "SYS_chmod", 15 },
+ { "SYS_chown", 16 },
+ { "SYS_close", 6 },
+ { "SYS_creat", 8 },
+ { "SYS_execv", 11 },
+ { "SYS_execve", 59 },
+ { "SYS_exit", 1 },
+ { "SYS_fork", 2 },
+ { "SYS_fstat", 22 },
+ { "SYS_getpid", 20 },
+ { "SYS_gettimeofday", 116 },
+ { "SYS_isatty", 21 },
+ { "SYS_link", 9 },
+ { "SYS_lseek", 19 },
+ { "SYS_mknod", 14 },
+ { "SYS_open", 5 },
+ { "SYS_pipe", 42 },
+ { "SYS_read", 3 },
+ { "SYS_rename", 134 },
+ { "SYS_stat", 38 },
+ { "SYS_time", 23 },
+ { "SYS_unlink", 10 },
+ { "SYS_utime", 201 },
+ { "SYS_wait", 202 },
+ { "SYS_wait4", 7 },
+ { "SYS_write", 4 },
/* end v850 sys target macros */
#endif
#endif
-#ifdef NL_TARGET_cr16
-#ifdef sys_defs
- /* from syscall.h */
- /* begin cr16 sys target macros */
- { "SYS_ARG", 24 },
- { "SYS_chdir", 12 },
- { "SYS_chmod", 15 },
- { "SYS_chown", 16 },
- { "SYS_creat", 8 },
- { "SYS_execv", 11 },
- { "SYS_execve", 59 },
- /*{ "SYS_exit", 1 }, REVISIT*/
- { "SYS_fork", 2 },
- { "SYS_fstat", 22 },
- { "SYS_getpid", 20 },
- { "SYS_isatty", 21 },
- { "SYS_kill", 60 },
- { "SYS_link", 9 },
- { "SYS_mknod", 14 },
- { "SYS_pipe", 42 },
- { "SYS_open", 0x401 },
- { "SYS_close", 0x402 },
- { "SYS_read", 0x403 },
- { "SYS_write", 0x404 },
- { "SYS_lseek", 0x405 },
- { "SYS_rename", 0x406 },
- { "SYS_unlink", 0x407 },
- { "SYS_exit", 0x410 },
- { "SYS_stat", 38 },
- { "SYS_time", 0x300 },
- { "SYS_utime", 201 },
- { "SYS_wait", 202 },
- { "SYS_wait4", 7 },
-/* end cr16 sys target macros */
-#endif
-#endif
#ifdef NL_TARGET_lm32
#ifdef sys_defs
/* from syscall.h */
/* begin lm32 sys target macros */
+ { "SYS_argc", 22 },
+ { "SYS_argn", 24 },
+ { "SYS_argnlen", 23 },
{ "SYS_argv", 13 },
{ "SYS_argvlen", 12 },
{ "SYS_chdir", 14 },
@@ -502,6 +480,7 @@
{ "SYS_lseek", 6 },
{ "SYS_open", 2 },
{ "SYS_read", 4 },
+ { "SYS_reconfig", 25 },
{ "SYS_stat", 15 },
{ "SYS_time", 18 },
{ "SYS_times", 20 },
diff --git a/sim/common/sim-io.c b/sim/common/sim-io.c
index 68ef3f9..250f37d 100644
--- a/sim/common/sim-io.c
+++ b/sim/common/sim-io.c
@@ -387,3 +387,15 @@ sim_io_poll_read (SIM_DESC sd,
return sim_io_read (sd, sim_io_fd, buf, sizeof_buf);
#endif
}
+
+int
+sim_io_stat (SIM_DESC sd, const char *path, struct stat *buf)
+{
+ return STATE_CALLBACK (sd)->stat (STATE_CALLBACK (sd), path, buf);
+}
+
+int
+sim_io_fstat (SIM_DESC sd, int fd, struct stat *buf)
+{
+ return STATE_CALLBACK (sd)->fstat (STATE_CALLBACK (sd), fd, buf);
+}
diff --git a/sim/common/sim-io.h b/sim/common/sim-io.h
index b8248c6..610a80f 100644
--- a/sim/common/sim-io.h
+++ b/sim/common/sim-io.h
@@ -84,4 +84,10 @@ void sim_io_poll_quit (SIM_DESC sd);
/* Returns -1 and sets (host) EAGAIN if not ready. */
int sim_io_poll_read (SIM_DESC sd, int, char *, int);
+#include <sys/types.h>
+#include <sys/stat.h>
+
+int sim_io_stat (SIM_DESC sd, const char *path, struct stat *buf);
+
+int sim_io_fstat (SIM_DESC sd, int fd, struct stat *buf);
#endif