diff options
| author | 2023-05-17 22:14:34 +0300 | |
|---|---|---|
| committer | 2023-05-17 23:02:08 +0200 | |
| commit | 70fd6b3b230f58782a196b1075513a24f2376077 (patch) | |
| tree | b4a24d3c3f83d31928655714976af336a56f0d8a /stdio-common/bug29.c | |
| parent | hurd: Fix x86_64 _hurd_tls_fork (diff) | |
| download | 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 'stdio-common/bug29.c')
0 files changed, 0 insertions, 0 deletions
