From 165b70ea60b358163b47407fddcdddca389c87b1 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Mon, 21 Mar 2011 22:06:55 +0000 Subject: [PATCH] * 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. --- sim/common/ChangeLog | 9 + sim/common/gennltvals.sh | 2 +- sim/common/nltvals.def | 745 +++++++++++++++++++-------------------- sim/common/sim-io.c | 12 + sim/common/sim-io.h | 6 + 5 files changed, 390 insertions(+), 384 deletions(-) diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 092352294f..a80ec8ff62 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,12 @@ +2011-03-21 Kevin Buettner + + * 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 * 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 d882e20c34..bbab1451cf 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 ab051b1290..07c76a15dc 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 68ef3f9561..250f37d6ef 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 b8248c62fe..610a80f069 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 +#include + +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 -- 2.34.1