This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [PATCH v4 2/3] 32-bit ABIs: support stat syscall family


On Tuesday, August 9, 2016 8:29:13 PM CEST Joseph Myers wrote:
> > It was my initial idea, but Arnd told that we cannot modify time_t and
> > struct timespec as it is used in some ioctls and this change may harm
> > compatibility.
> 
> We're talking about *new ports*.  We can take the time to get the ABI 
> right for them.
> 
> > I suggested to declare new time64_t and struct timespec64 and use it
> > in union with 32-bit versions where possible but it was rejected too.
> > So with 32-bit time_t/timespec, this is the only option to treat time
> > fields as special case and introduce a bunch of paddings.
> 
> If for some reason the padding cannot be *inside* struct timespec, that 
> needs to be explained at greater length.

We cannot define 'struct timespec' to be incompatible with the version
used by the kernel, that would break all other interfaces passing a
timespec.

While in theory the kernel could change the definition of its "compat"
data types for 32-bit tasks on 64-bit kernels (as it does for x86/x32),
we are not doing that for aarch64, in order to stay compatible with
device drivers that already have working compat mode on 32-bit ARM.

	Arnd


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