diff options
| author | Mick Sayson <mick@sayson.com> | 2025-12-15 17:07:34 -0800 |
|---|---|---|
| committer | mlugg <mlugg@noreply.codeberg.org> | 2025-12-17 15:33:10 +0100 |
| commit | fc78a61c4c6dd2a8a1047b5e5b62037e82b0dca0 (patch) | |
| tree | bdf9ea1d5b3fe99449c0acffbebc9f5580927dbd /lib/libc/include/mipsel-linux-gnu/bits | |
| parent | b9eefe17af2c30855f229f5214679d3766966b85 (diff) | |
| download | zig-fc78a61c4c6dd2a8a1047b5e5b62037e82b0dca0.tar.gz zig-fc78a61c4c6dd2a8a1047b5e5b62037e82b0dca0.zip | |
Prevent register clobbering on x86_64 threadlocal access
On the x86_64 self hosted backend, thread locals are accessed through
__tls_get_addr on PIC. Usually this goes through a fast path which does
not lose any registers, however in some cases (notably any dlopened
library on my machine) this can take a slow path which calls out to C
ABI functions
Catch this case and backup registers as necessary
Fix a few other ones while we're here. Credit to mlugg
Fixes #30183
Diffstat (limited to 'lib/libc/include/mipsel-linux-gnu/bits')
0 files changed, 0 insertions, 0 deletions
