[PATCH] Make st_*tim visible in stat for POSIX.1-2008

Corinna Vinschen vinschen@redhat.com
Wed Aug 14 08:41:00 GMT 2019


On Aug 13 13:46, Joel Sherrill wrote:
> On Tue, Aug 13, 2019 at 1:30 PM Dionna Amalie Glaze via newlib <
> newlib@sourceware.org> wrote:
> 
> > The st_{a,c,m}tim fields are needed for POSIX.1-2008, not just RTEMS.
> >
> > Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
> > ---
> >  newlib/libc/include/sys/stat.h | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/newlib/libc/include/sys/stat.h
> > b/newlib/libc/include/sys/stat.h
> > index eee98db64..052ef5a66 100644
> > --- a/newlib/libc/include/sys/stat.h
> > +++ b/newlib/libc/include/sys/stat.h
> > @@ -34,10 +34,12 @@ struct      stat
> >    gid_t                st_gid;
> >    dev_t                st_rdev;
> >    off_t                st_size;
> > -#if defined(__rtems__)
> > +#if defined(__USE_MISC) || __POSIX_VISIBLE >= 200809
> >    struct timespec st_atim;
> >    struct timespec st_mtim;
> >    struct timespec st_ctim;
> > +#endif
> >
> 
> If I am reading this change correctly, this is breakage for RTEMS. Both of
> those
> terms are defined as a consequence of user provided defines. If the user
> application
> and RTEMS are not compiled with the same options, the fields in the
> structure will
> not agree and these below will be overlaid on the time fields.
> 
> Most of the newlib targets are single address space so changing the fields
> in
> the structure based on user provided conditionals is going to introduce
> breakage.
> 
> Perhaps adding a new define to sys/config.h so the fields are always there
> for
> the targets that support them. I couldn't find any example that wasn't
> based on
> a hard-coded always on value in either sys/config.h or sys/features.h. Maybe
> someone else has another idea.

I'm not sure why the timestamps are not defined for non-rtems
targets but I guess it's all about size again.  Don't we have
an already existing definition for small targets we can use here?
_REENT_SMALL or something like that?


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20190814/705f4dbd/attachment.sig>


More information about the Newlib mailing list