[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #18216] glibc: `struct stat' et al.

From: Thomas Schwinge
Subject: [bug #18216] glibc: `struct stat' et al.
Date: Mon, 06 Nov 2006 16:30:31 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; de; rv: Gecko/20060921 Ubuntu/dapper-security Firefox/


                 Summary: glibc: `struct stat' et al.
                 Project: The GNU Hurd
            Submitted by: tschwinge
            Submitted on: Monday 11/06/06 at 17:30
                Category: glibc
                Severity: 5 - Blocker
                Priority: 9 - Immediate
              Item Group: Standard Compliance
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Reproducibility: Every Time
              Size (loc): None
         Planned Release: None
                  Effort: 0.00
       To be done before: 



Building trunk versions of glibc fails (apart from other issues) like this:

i586-pc-gnu-gcc ../sysdeps/posix/getaddrinfo.c [...]
../sysdeps/posix/getaddrinfo.c: In function 'gaiconf_init':
../sysdeps/posix/getaddrinfo.c:1798: error: 'struct stat64' has no member
named 'st_mtim'
../sysdeps/posix/getaddrinfo.c: In function 'gaiconf_reload':
../sysdeps/posix/getaddrinfo.c:1819: error: 'struct stat64' has no member
named 'st_mtim'
../sysdeps/posix/getaddrinfo.c: In function 'getaddrinfo':
../sysdeps/posix/getaddrinfo.c:2007: error: used struct type value where
scalar is required

I extracted the following relevant (at least for this issue) differences for
`struct stat' and `struct stat64':


    __time_t st_atime;         /* Access time, seconds */
    unsigned long int st_atime_usec; /* and microseconds.  */
    __time_t st_mtime;         /* Modification time, seconds */
    unsigned long int st_mtime_usec; /* and microseconds.  */
    __time_t st_ctime;         /* Status change time, seconds */
    unsigned long int st_ctime_usec; /* and microseconds.  */


#ifdef __USE_MISC
    /* Nanosecond resolution timestamps are stored in a format
       equivalent to 'struct timespec'.  This is the type used
       whenever possible but the Unix namespace rules do not allow the
       identifier 'timespec' to appear in the <sys/stat.h> header.
       Therefore we have to handle the use of this header in strictly
       standard-compliant sources special.  */
    struct timespec st_atim;           /* Time of last access.  */
    struct timespec st_mtim;           /* Time of last modification.  */
    struct timespec st_ctim;           /* Time of last status change.  */
# define st_atime st_atim.tv_sec       /* Backward compatibility.  */
# define st_mtime st_mtim.tv_sec
# define st_ctime st_ctim.tv_sec
    __time_t st_atime;                 /* Time of last access.  */
    unsigned long int st_atimensec;    /* Nscecs of last access.  */
    __time_t st_mtime;                 /* Time of last modification.  */
    unsigned long int st_mtimensec;    /* Nsecs of last modification.  */
    __time_t st_ctime;                 /* Time of last status change.  */
    unsigned long int st_ctimensec;    /* Nsecs of last status change.  */
/* Nanosecond resolution time values are supported.  */


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]