[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:1.8.0.7) Gecko/20060921 Ubuntu/dapper-security Firefox/1.5.0.7 |
URL:
<http://savannah.gnu.org/bugs/?18216>
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:
_______________________________________________________
Details:
Building trunk versions of glibc fails (apart from other issues) like this:
#v+
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
#v-
I extracted the following relevant (at least for this issue) differences for
`struct stat' and `struct stat64':
Hurd:
#v+
__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. */
#v-
Linux:
#v+
#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
#else
__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. */
#endif
[...]
#define _STATBUF_ST_RDEV
/* Nanosecond resolution time values are supported. */
#define _STATBUF_ST_NSEC
#v-
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?18216>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #18216] glibc: `struct stat' et al.,
Thomas Schwinge <=