OSDN Git Service

2004-06-25 J"orn Rennecke <joern.rennecke@superh.com>
authorJoern Rennecke <joern.rennecke@arc.com>
Fri, 25 Jun 2004 16:48:01 +0000 (16:48 +0000)
committerJoern Rennecke <joern.rennecke@arc.com>
Fri, 25 Jun 2004 16:48:01 +0000 (16:48 +0000)
include/gdb:
* callback.h (host_callback_struct): Replace members fdopen and
        alwaysopen with fd_buddy.
sim/common:
* callback.c: Changed all users.

include/gdb/ChangeLog
include/gdb/callback.h

index 3a17b1d..80a9e06 100644 (file)
@@ -1,3 +1,9 @@
+2004-06-25  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * callback.h (host_callback_struct): Replace members fdopen and
+       alwaysopen with fd_buddy.
+       [sim/common: * callback.c: Changed all users.  ]
+
 2003-10-31  Kevin Buettner  <kevin@redhat.com>
 
        * sim-frv.h: New file.
index 3fa4191..aa956d0 100644 (file)
@@ -123,8 +123,15 @@ struct host_callback_struct
   int last_errno;              /* host format */
 
   int fdmap[MAX_CALLBACK_FDS];
-  char fdopen[MAX_CALLBACK_FDS];
-  char alwaysopen[MAX_CALLBACK_FDS];
+  /* fd_buddy is used to contruct circular lists of target fds that point to
+     the same host fd.  A uniquely mapped fd points to itself; for a closed
+     one, fd_buddy has the value -1.  The host file descriptors for stdin /
+     stdout / stderr are never closed by the simulators, so they are put
+     in a special fd_buddy circular list which also has MAX_CALLBACK_FDS
+     as a member.  */
+  /* ??? We don't have a callback entry for dup, although it is trival to
+     implement now.  */
+  short fd_buddy[MAX_CALLBACK_FDS+1];
 
   /* System call numbers.  */
   CB_TARGET_DEFS_MAP *syscall_map;