This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] sysv: linux: Pass 64-bit version of semctl syscall
On Fri, Jan 31, 2020 at 1:54 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> On Fri, Jan 31, 2020 at 6:11 PM Alistair Francis
> <alistair.francis@wdc.com> wrote:
> >
> > Adjust the semctl syscall to match what the kernel expects. That is pass
> > a version with a *_high version of sem_otime and sem_ctime in the order
> > that the kernel expects.
>
> > +# ifdef __SEMID_DS_HIGH
> > +# if defined (__SEMID_DS_HIGH_END)
> ...
> > +# elif defined (__SEMID_DS_HIGH_SWAP)
>
> The three new macros you check for here directly correspond to the
> possible combinations of the existing __SEM_PAD_AFTER_TIME
> and __SEM_PAD_BEFORE_TIME macros, right?
Hey Arnd,
I think you are asking why we don't just use the existing macros
instead of adding more (and keep the core logic as is). Besides the
naming being confusing then, they two types don't line up. For
example:
PowerPC has this:
#define __SEM_PAD_AFTER_TIME 0
#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#define __SEMID_DS_HIGH (__WORDSIZE == 32)
+#define __SEMID_DS_HIGH_SWAP (__WORDSIZE == 32)
while HPPA has this:
#define __SEM_PAD_AFTER_TIME 0
#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#define __SEMID_DS_HIGH (__WORDSIZE == 32)
They have different __SEMID_DS macros, but the same __SEM_PAD macros.
Alistair
>
> Maybe just use those directly?
>
> Arnd