This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA]: File-I/O patch, Documentation


+ at menu
+* File-I/O Overview::
+* Protocol basics::
+* The `F' request packet::
+* The `F' reply packet::
+* Memory transfer::
+* The Ctrl-C message::
+* Console I/O::
+* The isatty call::
+* The system call::
+* List of supported calls::

I think the only problem here is the need for two small, simple but concrete examples:


- the target doing a write() call

- the user entering CNTRL-C and a demonstration of one of the edge cases

+* Protocol specific representation of datatypes::
+* Constants::
+ at end menu

--


My one concern with the protocol spec is with this structure. The size of those various types is target compiler dependent yet the implementation assumes specific sizes.

+ at smallexample
+struct stat @{
+    unsigned int  st_dev;      /* device */
+    unsigned int  st_ino;      /* inode */
+    mode_t        st_mode;     /* protection */
+    unsigned int  st_nlink;    /* number of hard links */
+    unsigned int  st_uid;      /* user ID of owner */
+    unsigned int  st_gid;      /* group ID of owner */
+    unsigned int  st_rdev;     /* device type (if inode device) */
+    unsigned long st_size;     /* total size, in bytes */
+    unsigned long st_blksize;  /* blocksize for filesystem I/O */
+    unsigned long st_blocks;   /* number of blocks allocated */
+    time_t        st_atime;    /* time of last access */
+    time_t        st_mtime;    /* time of last modification */
+    time_t        st_ctime;    /* time of last change */
+ at };
+ at end smallexample

c99 (what ever the standard) formalized a number of explicitly sized types (int32 et.al. I believe). I think this table should be specified using those types. The alternative is to generalize the sim/common/sim-types.h file and then specify the sizes using that.


The time unit of st_*time should be defined.

The byte order of all the values should be defined.

The reference to B.1 should be removed.

Andrew



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]