about summary refs log tree commit diff
path: root/sysdeps/mach/hurd/x86_64/static-start.S
diff options
context:
space:
mode:
authorSergey Bugaev <bugaevc@gmail.com>2023-05-17 22:14:34 +0300
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-05-17 23:02:08 +0200
commit70fd6b3b230f58782a196b1075513a24f2376077 (patch)
treeb4a24d3c3f83d31928655714976af336a56f0d8a /sysdeps/mach/hurd/x86_64/static-start.S
parent2f8ecb58a59eb82c43214d000842d99644a662d1 (diff)
downloadglibc-70fd6b3b230f58782a196b1075513a24f2376077.tar.gz
glibc-70fd6b3b230f58782a196b1075513a24f2376077.tar.xz
glibc-70fd6b3b230f58782a196b1075513a24f2376077.zip
hurd: Fix setting up pthreads
On x86_64, we have to pass function arguments in registers, not on the
stack. We also have to align the stack pointer in a specific way. Since
sharing the logic with i386 does not bring much benefit, split the file
back into i386- and x86_64-specific versions, and fix the x86_64 version
to set up the thread properly.

Bonus: i386 keeps doing the extra RPC inside __thread_set_pcsptp to
fetch the state of the thread before setting it; but x86_64 no lnoger
does that.

Checked on x86_64-gnu and i686-gnu.

Fixes be6d002ca277ffc90058d382396150cb0e785b9c
"hurd: Set up the basic tree for x86_64-gnu"

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20230517191436.73636-9-bugaevc@gmail.com>
Diffstat (limited to 'sysdeps/mach/hurd/x86_64/static-start.S')
0 files changed, 0 insertions, 0 deletions