[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH glibc 16/34] hurd: Add sys/ucontext.h and sigcontext.h fo
From: |
Sergey Bugaev |
Subject: |
Re: [RFC PATCH glibc 16/34] hurd: Add sys/ucontext.h and sigcontext.h for x86_64 |
Date: |
Mon, 10 Apr 2023 22:13:06 +0300 |
On Mon, Apr 10, 2023 at 9:58 PM Samuel Thibault <samuel.thibault@gnu.org> wrote:
>
> Sergey Bugaev, le dim. 19 mars 2023 18:09:59 +0300, a ecrit:
> > +#ifdef __USE_GNU
> > +/* Number of each register in the `gregset_t' array. */
> > +enum
> > +{
> > + REG_GSFS = 0, /* Actually int gs, fs. */
> > +# define REG_GSFS REG_GSFS
> > + REG_ESDS, /* Actually int es, ds. */
> > +# define REG_ESDS REG_ESDS
>
> On second thought, why REG_ESDS? They are basically useless on amd64
>
> Linux packs all segment registers in REG_CSGSFS, probably better to
> stuff them the same way? (all three really are 16bit only, even if the
> thread_state is padding them to 32bits).
Exactly because that's how they are laid out in struct
i386_thread_state, if you count in 8-byte chunks.
Look at how these REG_* definitions are used in fill_ucontext () in
trampoline.c (that's the one, not hursig.c like my previous message
said).
Sergey