summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2015-12-01 15:18:29 +0000
committerkettenis <kettenis@openbsd.org>2015-12-01 15:18:29 +0000
commit697a24b00b9fb4ee95e42175a8cfed5d34a134c7 (patch)
tree99093afe168357169772e2f5c0bf05e01c4d98b4 /lib/libc
parentDocument that "tty" provides read-write access to /dev/tty too. (diff)
downloadwireguard-openbsd-697a24b00b9fb4ee95e42175a8cfed5d34a134c7.tar.xz
wireguard-openbsd-697a24b00b9fb4ee95e42175a8cfed5d34a134c7.zip
Fix __sync_val_compare_and_swap_8() on i386 for code compiled with -fPIC.
In some cases GCC would generate a cmpxchg8b instruction with a memory reference that used %ebx. This is wrong (and will almost certainly result in SIGSEGV). This fix uses a new memory constraint "W" to prevent the use of %ebx in this case. This differs from the approach taken by upstream so there are no GPLv3 issues here. Fixes the Mesa i965 dri module on i386. ok jsg@
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions