public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: caiyinyu <caiyinyu@loongson.cn>
Cc: Adhemerval Zanella <adhemerval.zanella@linaro.org>,
	 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 08:33:05 +0100	[thread overview]
Message-ID: <CAK8P3a10HWGx7_Phaw16MYo9jr7wmjesoj1XEym7iSWxb5rDEA@mail.gmail.com> (raw)
In-Reply-To: <b6f72978-eb3b-ade0-62ed-5a932984f0f3@loongson.cn>

On Wed, May 18, 2022 at 4:40 AM caiyinyu <caiyinyu@loongson.cn> wrote:
> 在 2022/5/11 下午3:08, Arnd Bergmann 写道:
> > On Mon, May 9, 2022 at 4:26 AM caiyinyu <caiyinyu@loongson.cn> wrote:
>
> 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??

I think the problem is different views of the macros in Linux and glibc:

- In Linux, all 32-bit architectures use the 'flock64' interface, while
  all 64-bit architectures use 'flock'. Older 32-bit architectures
  also provide the 32-bit 'off_t' interfaces with 'flock' for compatibility
  with existing user space.

- glibc describes the same interfaces differently. Here, all architectures
  have both the traditional 'flock' and the new 'flock64' version that
  gets used when building with largerfile64 support enabled, but they
  may get aliased to the same one depending on which off_t definition
  glibc was using when the port was started.

Adhemerval's suggestion for addressing this in glibc sounds good to
me, so you can just keep you extra copy of the same logic for
the moment and someone can consolidate the workarounds for
64-bit architectures in the future.

          Arnd

  reply	other threads:[~2022-05-18  7:33 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
2022-05-18  7:33       ` Arnd Bergmann [this message]
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=CAK8P3a10HWGx7_Phaw16MYo9jr7wmjesoj1XEym7iSWxb5rDEA@mail.gmail.com \
    --to=arnd@arndb.de \
    --cc=adhemerval.zanella@linaro.org \
    --cc=caiyinyu@loongson.cn \
    --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).