From: caiyinyu <caiyinyu@loongson.cn>
To: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Cc: GNU C Library <libc-alpha@sourceware.org>,
xuchenghua@loongson.cn, joseph_myers@mentor.com,
Arnd Bergmann <arnd@arndb.de>
Subject: Re: [PATCH v4 09/13] LoongArch: Linux ABI
Date: Wed, 18 May 2022 11:40:30 +0800 [thread overview]
Message-ID: <b6f72978-eb3b-ade0-62ed-5a932984f0f3@loongson.cn> (raw)
In-Reply-To: <CAK8P3a0hZCawup14rw2tykcFSWPcZCGVUJFjS_iSfSOGREAEDg@mail.gmail.com>
在 2022/5/11 下午3:08, Arnd Bergmann 写道:
> On Mon, May 9, 2022 at 4:26 AM caiyinyu <caiyinyu@loongson.cn> wrote:
>> +
>> +#include <bits/wordsize.h>
>> +
>> +/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are
>> the same as
>> + non-64-bit versions. It will need to be revised for 128-bit. */
>> +#if __WORDSIZE == 64
>> +#define __O_LARGEFILE 0
>> +
>> +#define F_GETLK64 5 /* Get record locking info. */
>> +#define F_SETLK64 6 /* Set record locking info (non-blocking). */
>> +#define F_SETLKW64 7 /* Set record locking info (blocking). */
>> +#endif
>> +
>> +struct flock
>> +{
>> + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
>> + short int l_whence; /* Where `l_start' is relative to (like
>> `lseek'). */
>> +#ifndef __USE_FILE_OFFSET64
>> + __off_t l_start; /* Offset where the lock begins. */
>> + __off_t l_len; /* Size of the locked area; zero means until EOF. */
>> +#else
>> + __off64_t l_start; /* Offset where the lock begins. */
>> + __off64_t l_len; /* Size of the locked area; zero means until EOF. */
>> +#endif
>> + __pid_t l_pid; /* Process holding the lock. */
>> +};
>> +
>> +#ifdef __USE_LARGEFILE64
>> +struct flock64
>> +{
>> + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
>> + short int l_whence; /* Where `l_start' is relative to (like
>> `lseek'). */
>> + __off64_t l_start; /* Offset where the lock begins. */
>> + __off64_t l_len; /* Size of the locked area; zero means until EOF. */
>> + __pid_t l_pid; /* Process holding the lock. */
>> +};
>> +#endif
> Not sure why these are provided here, the kernel has no loongarch64
> specific
> interface for flock in the current version, so either this refers to
> an older version
> of the kernel port, or it is something that could be generalized into an
> architecture-independent file in glibc.
>
> Arnd
There are struct flock and flock64 we need in glibc bits/fcntl.h, but
the macro F_GETLK64 F_SETLK64 F_SETLKW64 in
sysdeps/unix/sysv/linux/bits/fcntl-linux.h are:
...
# define F_GETLK64 12 /* Get record locking info. */
# define F_SETLK64 13 /* Set record locking info
(non-blocking). */
# define F_SETLKW64 14 /* Set record locking info (blocking). */
...
what we need:
+#define F_GETLK64 5 /* Get record locking info. */
+#define F_SETLK64 6 /* Set record locking info (non-blocking). */
+#define F_SETLKW64 7 /* Set record locking info (blocking). */
x86 ia64 s390 and aarch64 have the same problem and they all use their
own fcntl.h.
Define new value of these macro in
sysdeps/unix/sysv/linux/bits/fcntl-linux.h or
add fcntl-linux.h in loongarch port or keep the status quo??
any ideas??
Thanks.
next prev parent reply other threads:[~2022-05-18 3:40 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-09 2:25 [PATCH v3 00/13] GLIBC LoongArch PATCHES caiyinyu
2022-05-09 2:25 ` [PATCH v4 01/13] LoongArch: Update NEWS and README for the LoongArch port caiyinyu
2022-05-11 17:05 ` Adhemerval Zanella
2022-05-09 2:26 ` [PATCH v4 02/13] LoongArch: Add LoongArch entries to config.h.in caiyinyu
2022-05-09 2:26 ` [PATCH v4 03/13] LoongArch: Add relocations and ELF flags to elf.h and scripts/glibcelf.py caiyinyu
2022-05-09 2:26 ` [PATCH v4 04/13] LoongArch: ABI Implementation caiyinyu
2022-05-09 2:26 ` [PATCH v4 05/13] LoongArch: Thread-Local Storage Support caiyinyu
2022-05-09 2:26 ` [PATCH v4 06/13] LoongArch: Generic <math.h> and soft-fp Routines caiyinyu
2022-05-09 2:26 ` [PATCH v4 07/13] LoongArch: Atomic and Locking Routines caiyinyu
2022-05-09 2:26 ` [PATCH v4 08/13] LoongArch: Linux Syscall Interface caiyinyu
2022-05-11 7:02 ` Arnd Bergmann
2022-05-11 13:20 ` Adhemerval Zanella
2022-05-15 7:53 ` caiyinyu
2022-05-16 18:44 ` Adhemerval Zanella
2022-05-09 2:26 ` [PATCH v4 09/13] LoongArch: Linux ABI caiyinyu
2022-05-11 7:08 ` Arnd Bergmann
2022-05-11 13:27 ` Adhemerval Zanella
2022-05-11 17:32 ` Joseph Myers
2022-05-15 3:32 ` caiyinyu
2022-05-16 18:49 ` Adhemerval Zanella
2022-05-18 3:40 ` caiyinyu [this message]
2022-05-18 7:33 ` Arnd Bergmann
2022-05-09 2:26 ` [PATCH v4 10/13] LoongArch: Add ABI Lists caiyinyu
2022-05-10 19:37 ` [PATCH v3 00/13] GLIBC LoongArch PATCHES Florian Weimer
2022-05-10 20:33 ` Joseph Myers
2022-05-11 6:57 ` Arnd Bergmann
2022-05-11 13:17 ` Adhemerval Zanella
2022-05-09 2:29 [PATCH v4 " caiyinyu
2022-05-09 2:30 ` [PATCH v4 09/13] LoongArch: Linux ABI caiyinyu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b6f72978-eb3b-ade0-62ed-5a932984f0f3@loongson.cn \
--to=caiyinyu@loongson.cn \
--cc=adhemerval.zanella@linaro.org \
--cc=arnd@arndb.de \
--cc=joseph_myers@mentor.com \
--cc=libc-alpha@sourceware.org \
--cc=xuchenghua@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).