This is the mail archive of the
mailing list for the glibc project.
Re: [COMMITTED PATCH] Move tilegx, tilepro, and linux-generic from ports to libc.
- From: Chris Metcalf <cmetcalf at ezchip dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>, Chris Metcalf <cmetcalf at tilera dot com>, <szabolcs dot nagy at arm dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 19 Mar 2015 12:31:45 -0400
- Subject: Re: [COMMITTED PATCH] Move tilegx, tilepro, and linux-generic from ports to libc.
- Authentication-results: sourceware.org; auth=none
- Authentication-results: sourceware.org; dkim=none (message not signed) header.d=none;
- References: <201402101603 dot s1AG30C9000514 at gx-1 dot internal dot tilera dot com> <CAMe9rOpqM3QsZpFnCb57gcWMwFR6acdVCvofV=U40avD78nG8w at mail dot gmail dot com>
On 03/18/2015 07:59 AM, H.J. Lu wrote:
Any particular reason to add
sysdeps/unix/sysv/linux/generic/bits/statfs.h when there is
sysdeps/unix/sysv/linux/bits/statfs.h already? Why can't it be used?
The distinction lies with the the fields defined by __field64 in the
"generic" version. For the case without __USE_FILE_OFFSET64, but when
ILP32 mode is involved, the base linux version uses plain __fsblkcnt_t,
i.e. unsigned long, so just 32 bits. However, it needs to be a 64-bit
field, where either the first or second 32-bit subfield is padding
depending on endianness, and the field value is the other 32-bit
subfield. We would need to adopt the __field64 scheme for the base
version in some way that allowed platforms to turn it on as needed
(depending on whether statfs is filled with a statfs64 syscall or a
plain 32-bit statfs syscall on older, non asm-generic 32-bit kernels).
This is doable but fiddly to get exactly right.
Another difference I see is easy to work around. The "generic" linux
version uses __SWORD_TYPE where the base version uses __fsword_t
(changed by hjl in 2012). If the generic platforms (tile, aarch64,
nios2) switched, this would be OK since the types are the same on those
platforms. (Only alpha and x32 define them differently.)
Chris Metcalf, EZChip Semiconductor