public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org
Subject: Re: [PATCH v4 09/13] LoongArch: Linux ABI
Date: Wed, 11 May 2022 10:27:57 -0300	[thread overview]
Message-ID: <f52006ca-566f-f2a0-dffc-5a8bdd2935b0@linaro.org> (raw)
In-Reply-To: <CAK8P3a0hZCawup14rw2tykcFSWPcZCGVUJFjS_iSfSOGREAEDg@mail.gmail.com>



On 11/05/2022 04:08, Arnd Bergmann wrote:
> 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.

Indeed this is a missing spot in Linux support, the generic
sysdeps/unix/sysv/linux/bits/fcntl.h is just a #error stating each
architecture should define its own.

glibc does have a generic interface on generic subfolder,
sysdeps/unix/sysv/linux/generic/bits/fcntl.h; however loongarch is
not using it because it does not add the folder on 
sysdeps/unix/sysv/linux/loongarch/Implies. NIOS2, for instance,
which as the original architecture that pushed for the generic
folder (as a easier way to provide the new UAPI kernel definitions)
has:

$ cat ./sysdeps/unix/sysv/linux/nios2/Implies
nios2/nptl
unix/sysv/linux/generic/wordsize-32
unix/sysv/linux/generic

Making loongarch use it will change some implementation selections,
so it would require to check it it is ok for the architecture.

My long term plan is to just remove the generic and subfolder to avoid
this exact confusion.

  reply	other threads:[~2022-05-11 13:28 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 [this message]
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
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=f52006ca-566f-f2a0-dffc-5a8bdd2935b0@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=libc-alpha@sourceware.org \
    /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).