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 9:03:54 PM CEST Joseph Myers wrote:
> On Tue, 9 Aug 2016, Arnd Bergmann wrote:
> 
> > 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.
> 
> So in that case, if the kernel's struct stat uses 64-bit timespec, it's 
> inevitably different from the userspace timespec.  Which leaves me 
> wondering what the advantages of a userspace layout that's almost but not 
> quite the same as the kernel's layout (and so needs timespec fields 
> rearranged on structs received from the kernel) are over not doing 
> anything special about the timespec fields in the userspace struct 
> definition (that is, no special padding / alignment) and instead using the 
> existing machinery for converting struct stat to convert from the kernel 
> structure to the userspace structure.

Right, that would be what I listed as approach a) in my mail with
message id 1914420.rMinRNpl2s@wuerfel earlier today, i.e. the
easiest way to solve the problem.

	Arnd


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