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: [glibc PATCH] fcntl: put F_OFD_* constants under #ifdef __USE_FILE_OFFSET64


On 17 Aug 2016 10:47, Jeff Layton wrote:
> The Linux kernel expects a flock64 structure whenever you use OFD locks
> with fcntl64. Unfortunately, you can currently build a 32-bit program
> that passes in a struct flock when it calls fcntl64.
> 
> Only define the F_OFD_* constants when __USE_FILE_OFFSET64 is also
> defined, so that the build fails in this situation rather than
> producing a broken binary.

what about ILP32 targets like x32 ?  sizeof(flock) == sizeof(flock64)
is the same there.

> --- a/manual/examples/ofdlocks.c
> +++ b/manual/examples/ofdlocks.c
> @@ -15,6 +15,7 @@
>     along with this program; if not, see <http://www.gnu.org/licenses/>.
>  */
>  
> +/* Note that this must be built with -D_FILE_OFFSET_BITS=64 on 32-bit arch */

GNU style says comments are complete sentences (so ends with a period),
and there's two spaces after the period.

> --- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
> +++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
> @@ -127,11 +127,18 @@
>     This means that they are inherited across fork or clone with CLONE_FILES
>     like BSD (flock) locks, and they are only released automatically when the
>     last reference to the the file description against which they were acquired
> -   is put. */
> +   is put.
> +
> +   Note that the kernel does not support the legacy struct flock on 32-bit
> +   arches with OFD locks. On those arches you need define both _GNU_SOURCE
> +   and _FILE_OFFSET_BITS=64.
> +   */

comment style says the */ has to be on the previous line -- look at how
the code looked before your change.  also, two spaces after periods.
-mike

Attachment: signature.asc
Description: Digital signature


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