glibc/sysdeps/mach/hurd/x86_64
Sergey Bugaev e333759f77 hurd: Fix sc_i386_thread_state layout
The real i386_thread_state Mach structure has an alignment of 8 on
x86_64. However, in struct sigcontext, the compiler was packing sc_gs
(which is the first member of sc_i386_thread_state) into the same 8-byte
slot as sc_error; this resulted in the rest of sc_i386_thread_state
members having wrong offsets relative to each other, and the overall
sc_i386_thread_state layout mismatching that of i386_thread_state.

Fix this by explicitly adding the required padding members, and
statically asserting that this results in the desired alignment.

The same goes for sc_i386_float_state.

Checked on x86_64-gnu.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20230515083323.1358039-4-bugaevc@gmail.com>
2023-05-16 16:09:00 +02:00
..
bits hurd: Fix sc_i386_thread_state layout 2023-05-16 16:09:00 +02:00
htl htl: Implement thread_set_pcsptp for x86_64 2023-04-03 01:18:27 +02:00
____longjmp_chk.S hurd: Implement longjmp for x86_64 2023-05-01 01:13:59 +02:00
__longjmp.S hurd: Implement longjmp for x86_64 2023-05-01 01:13:59 +02:00
c++-types.data hurd 64bit: Add data for check-c++-types 2023-05-01 15:05:09 +02:00
dl-tls-initialized.c hurd: Only check for TLS initialization inside rtld or in static builds 2023-04-14 10:31:22 +00:00
Implies
intr-msg.h hurd: Implement x86_64/intr-msg.h 2023-04-10 20:39:28 +02:00
ld.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
libanl.abilist hurd 64bit: Add missing libanl 2023-05-01 13:36:14 +02:00
libBrokenLocale.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
libc_malloc_debug.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
libc.abilist hurd: Add ioperm symbol on x86_64 2023-05-06 19:06:39 +02:00
libcrypt.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
libdl.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
libm.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
libmvec.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
libpthread.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
libresolv.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
librt.abilist hurd: Add expected abilist files for x86_64 2023-05-01 12:10:20 +02:00
localplt.data hurd 64bit: Add missing data file for check-localplt test 2023-05-01 13:38:57 +02:00
longjmp-ts.c hurd: Implement _hurd_longjmp_thread_state for x86_64 2023-04-03 01:23:30 +02:00
Makefile hurd: Also XFAIL missing SA_NOCLDWAIT on 64bit 2023-05-01 13:28:53 +02:00
shlib-versions hurd: Fix ld.so name 2023-05-06 21:00:56 +02:00
sigreturn.c hurd: Implement sigreturn for x86_64 2023-05-01 01:06:17 +02:00
static-start.S hurd: Make it possible to call memcpy very early 2023-05-01 01:21:23 +02:00
tls.h hurd: Don't migrate reply port into __init1_tcbhead 2023-04-21 03:02:04 +02:00
tlsdesc.sym hurd, htl: Add some x86_64-specific code 2023-02-12 16:35:03 +01:00
ucontext_i.sym hurd: Add sys/ucontext.h and sigcontext.h for x86_64 2023-04-10 20:11:43 +02:00
Versions hurd: Add ioperm symbol on x86_64 2023-05-06 19:06:39 +02:00
vm_param.h hurd: Add vm_param.h for x86_64 2023-04-03 01:24:13 +02:00