public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Adjust nios2 and m68k semihosting for sys/stat.h changes.
@ 2019-09-01 23:52 Sandra Loosemore
  2019-09-02  8:36 ` Corinna Vinschen
  0 siblings, 1 reply; 3+ messages in thread
From: Sandra Loosemore @ 2019-09-01 23:52 UTC (permalink / raw)
  To: newlib

Commit 72ff9acad2ab54e80a19ddaec0106065c817e3f6 caused st_atime,
st_ctime, and st_mtime to be defined as macros.  This collided with use of
these identifiers as field names in struct gdb_stat (which represents
the GDB RSP encoding of struct stat) in libgloss semihosting support for
nios2 and m68k.  This patch renames all the fields of struct gdb_stat.

Signed-off-by: Sandra Loosemore <sandra@codesourcery.com>
---
 libgloss/m68k/io-gdb.c  | 26 +++++++++++++-------------
 libgloss/m68k/io.h      | 26 +++++++++++++-------------
 libgloss/nios2/io-gdb.c | 26 +++++++++++++-------------
 libgloss/nios2/io.h     | 26 +++++++++++++-------------
 4 files changed, 52 insertions(+), 52 deletions(-)

diff --git a/libgloss/m68k/io-gdb.c b/libgloss/m68k/io-gdb.c
index 4f16b2f..1965ccc 100644
--- a/libgloss/m68k/io-gdb.c
+++ b/libgloss/m68k/io-gdb.c
@@ -84,19 +84,19 @@ void
 __hosted_from_gdb_stat (const struct gdb_stat *gs,
 			struct stat *s)
 {
-  s->st_dev = gs->st_dev;
-  s->st_ino = gs->st_ino;
-  s->st_mode = gs->st_mode;
-  s->st_nlink = gs->st_nlink;
-  s->st_uid = gs->st_uid;
-  s->st_gid = gs->st_gid;
-  s->st_rdev = gs->st_rdev;
-  s->st_size = gs->st_size;
-  s->st_blksize = gs->st_blksize;
-  s->st_blocks = gs->st_blocks;
-  s->st_atime = gs->st_atime;
-  s->st_mtime = gs->st_mtime;
-  s->st_ctime = gs->st_ctime;
+  s->st_dev = gs->gdb_st_dev;
+  s->st_ino = gs->gdb_st_ino;
+  s->st_mode = gs->gdb_st_mode;
+  s->st_nlink = gs->gdb_st_nlink;
+  s->st_uid = gs->gdb_st_uid;
+  s->st_gid = gs->gdb_st_gid;
+  s->st_rdev = gs->gdb_st_rdev;
+  s->st_size = gs->gdb_st_size;
+  s->st_blksize = gs->gdb_st_blksize;
+  s->st_blocks = gs->gdb_st_blocks;
+  s->st_atime = gs->gdb_st_atime;
+  s->st_mtime = gs->gdb_st_mtime;
+  s->st_ctime = gs->gdb_st_ctime;
 }
 
 void
diff --git a/libgloss/m68k/io.h b/libgloss/m68k/io.h
index b6b2287..998eb7c 100644
--- a/libgloss/m68k/io.h
+++ b/libgloss/m68k/io.h
@@ -48,19 +48,19 @@ typedef uint32_t gdb_mode_t;
 typedef uint32_t gdb_time_t;
 
 struct gdb_stat {
-  uint32_t    st_dev;     /* device */
-  uint32_t    st_ino;     /* inode */
-  gdb_mode_t  st_mode;    /* protection */
-  uint32_t    st_nlink;   /* number of hard links */
-  uint32_t    st_uid;     /* user ID of owner */
-  uint32_t    st_gid;     /* group ID of owner */
-  uint32_t    st_rdev;    /* device type (if inode device) */
-  uint64_t    st_size;    /* total size, in bytes */
-  uint64_t    st_blksize; /* blocksize for filesystem I/O */
-  uint64_t    st_blocks;  /* number of blocks allocated */
-  gdb_time_t  st_atime;   /* time of last access */
-  gdb_time_t  st_mtime;   /* time of last modification */
-  gdb_time_t  st_ctime;   /* time of last change */
+  uint32_t    gdb_st_dev;     /* device */
+  uint32_t    gdb_st_ino;     /* inode */
+  gdb_mode_t  gdb_st_mode;    /* protection */
+  uint32_t    gdb_st_nlink;   /* number of hard links */
+  uint32_t    gdb_st_uid;     /* user ID of owner */
+  uint32_t    gdb_st_gid;     /* group ID of owner */
+  uint32_t    gdb_st_rdev;    /* device type (if inode device) */
+  uint64_t    gdb_st_size;    /* total size, in bytes */
+  uint64_t    gdb_st_blksize; /* blocksize for filesystem I/O */
+  uint64_t    gdb_st_blocks;  /* number of blocks allocated */
+  gdb_time_t  gdb_st_atime;   /* time of last access */
+  gdb_time_t  gdb_st_mtime;   /* time of last modification */
+  gdb_time_t  gdb_st_ctime;   /* time of last change */
 };
 
 struct gdb_timeval {
diff --git a/libgloss/nios2/io-gdb.c b/libgloss/nios2/io-gdb.c
index ee58559..9051db4 100644
--- a/libgloss/nios2/io-gdb.c
+++ b/libgloss/nios2/io-gdb.c
@@ -96,19 +96,19 @@ void
 __hosted_from_gdb_stat (const struct gdb_stat *gs,
 			struct stat *s)
 {
-  s->st_dev = SWAP32 (gs->st_dev);
-  s->st_ino = SWAP32 (gs->st_ino);
-  s->st_mode = SWAP32 (gs->st_mode);
-  s->st_nlink = SWAP32 (gs->st_nlink);
-  s->st_uid = SWAP32 (gs->st_uid);
-  s->st_gid = SWAP32 (gs->st_gid);
-  s->st_rdev = SWAP32 (gs->st_rdev);
-  s->st_size = SWAP64 (gs->st_size);
-  s->st_blksize = SWAP64 (gs->st_blksize);
-  s->st_blocks = SWAP64 (gs->st_blocks);
-  s->st_atime = SWAP32 (gs->st_atime);
-  s->st_mtime = SWAP32 (gs->st_mtime);
-  s->st_ctime = SWAP32 (gs->st_ctime);
+  s->st_dev = SWAP32 (gs->gdb_st_dev);
+  s->st_ino = SWAP32 (gs->gdb_st_ino);
+  s->st_mode = SWAP32 (gs->gdb_st_mode);
+  s->st_nlink = SWAP32 (gs->gdb_st_nlink);
+  s->st_uid = SWAP32 (gs->gdb_st_uid);
+  s->st_gid = SWAP32 (gs->gdb_st_gid);
+  s->st_rdev = SWAP32 (gs->gdb_st_rdev);
+  s->st_size = SWAP64 (gs->gdb_st_size);
+  s->st_blksize = SWAP64 (gs->gdb_st_blksize);
+  s->st_blocks = SWAP64 (gs->gdb_st_blocks);
+  s->st_atime = SWAP32 (gs->gdb_st_atime);
+  s->st_mtime = SWAP32 (gs->gdb_st_mtime);
+  s->st_ctime = SWAP32 (gs->gdb_st_ctime);
 }
 
 void
diff --git a/libgloss/nios2/io.h b/libgloss/nios2/io.h
index e118435..7343e7e 100644
--- a/libgloss/nios2/io.h
+++ b/libgloss/nios2/io.h
@@ -47,19 +47,19 @@ typedef uint32_t gdb_mode_t;
 typedef uint32_t gdb_time_t;
 
 struct gdb_stat {
-  uint32_t    st_dev;     /* device */
-  uint32_t    st_ino;     /* inode */
-  gdb_mode_t  st_mode;    /* protection */
-  uint32_t    st_nlink;   /* number of hard links */
-  uint32_t    st_uid;     /* user ID of owner */
-  uint32_t    st_gid;     /* group ID of owner */
-  uint32_t    st_rdev;    /* device type (if inode device) */
-  uint64_t    st_size;    /* total size, in bytes */
-  uint64_t    st_blksize; /* blocksize for filesystem I/O */
-  uint64_t    st_blocks;  /* number of blocks allocated */
-  gdb_time_t  st_atime;   /* time of last access */
-  gdb_time_t  st_mtime;   /* time of last modification */
-  gdb_time_t  st_ctime;   /* time of last change */
+  uint32_t    gdb_st_dev;     /* device */
+  uint32_t    gdb_st_ino;     /* inode */
+  gdb_mode_t  gdb_st_mode;    /* protection */
+  uint32_t    gdb_st_nlink;   /* number of hard links */
+  uint32_t    gdb_st_uid;     /* user ID of owner */
+  uint32_t    gdb_st_gid;     /* group ID of owner */
+  uint32_t    gdb_st_rdev;    /* device type (if inode device) */
+  uint64_t    gdb_st_size;    /* total size, in bytes */
+  uint64_t    gdb_st_blksize; /* blocksize for filesystem I/O */
+  uint64_t    gdb_st_blocks;  /* number of blocks allocated */
+  gdb_time_t  gdb_st_atime;   /* time of last access */
+  gdb_time_t  gdb_st_mtime;   /* time of last modification */
+  gdb_time_t  gdb_st_ctime;   /* time of last change */
 };
 
 struct gdb_timeval {
-- 
2.8.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Adjust nios2 and m68k semihosting for sys/stat.h changes.
  2019-09-01 23:52 [PATCH] Adjust nios2 and m68k semihosting for sys/stat.h changes Sandra Loosemore
@ 2019-09-02  8:36 ` Corinna Vinschen
  2019-09-03 15:28   ` Sandra Loosemore
  0 siblings, 1 reply; 3+ messages in thread
From: Corinna Vinschen @ 2019-09-02  8:36 UTC (permalink / raw)
  To: Sandra Loosemore; +Cc: newlib

[-- Attachment #1: Type: text/plain, Size: 722 bytes --]

Hi Sandra,

On Sep  1 17:52, Sandra Loosemore wrote:
> Commit 72ff9acad2ab54e80a19ddaec0106065c817e3f6 caused st_atime,
> st_ctime, and st_mtime to be defined as macros.  This collided with use of
> these identifiers as field names in struct gdb_stat (which represents
> the GDB RSP encoding of struct stat) in libgloss semihosting support for
> nios2 and m68k.  This patch renames all the fields of struct gdb_stat.

Commit d0651704411d fixes this by only renaming the st_Xtime fields
in struct gdb_stat to st_Xtim.  Maybe that's an option for you, too?
Otherwise we have multiple different names in an otherwise identical
struct...


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Adjust nios2 and m68k semihosting for sys/stat.h changes.
  2019-09-02  8:36 ` Corinna Vinschen
@ 2019-09-03 15:28   ` Sandra Loosemore
  0 siblings, 0 replies; 3+ messages in thread
From: Sandra Loosemore @ 2019-09-03 15:28 UTC (permalink / raw)
  To: newlib

On 9/2/19 2:36 AM, Corinna Vinschen wrote:
> Hi Sandra,
> 
> On Sep  1 17:52, Sandra Loosemore wrote:
>> Commit 72ff9acad2ab54e80a19ddaec0106065c817e3f6 caused st_atime,
>> st_ctime, and st_mtime to be defined as macros.  This collided with use of
>> these identifiers as field names in struct gdb_stat (which represents
>> the GDB RSP encoding of struct stat) in libgloss semihosting support for
>> nios2 and m68k.  This patch renames all the fields of struct gdb_stat.
> 
> Commit d0651704411d fixes this by only renaming the st_Xtime fields
> in struct gdb_stat to st_Xtim.  Maybe that's an option for you, too?
> Otherwise we have multiple different names in an otherwise identical
> struct...

OK, that works too.  I'll post a V2 patch shortly.

-Sandra

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-09-03 15:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-01 23:52 [PATCH] Adjust nios2 and m68k semihosting for sys/stat.h changes Sandra Loosemore
2019-09-02  8:36 ` Corinna Vinschen
2019-09-03 15:28   ` Sandra Loosemore

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).