summaryrefslogtreecommitdiffstats
path: root/lib/libsqlite3/src/expr.c
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2014-03-24 01:18:28 +0000
committerdlg <dlg@openbsd.org>2014-03-24 01:18:28 +0000
commitfe49a4e7884e0f154dbad5b2152daa2a3a12dc2a (patch)
treeb0b6054ca82bd3f393fa8ab95b466e3bfc41d362 /lib/libsqlite3/src/expr.c
parentnothing after the irq ack posting relies on it being ordered. (diff)
downloadwireguard-openbsd-fe49a4e7884e0f154dbad5b2152daa2a3a12dc2a.tar.xz
wireguard-openbsd-fe49a4e7884e0f154dbad5b2152daa2a3a12dc2a.zip
annotate some packed structures with the alignment the hardware
requires and the driver provides. without this gcc assumes the alignment of these structures is 1, which leads to some horrible asm. this is particularly interesting when reading stuff from the myx_status struct (like the txdone count) which needs to be atomic. doing byte reads and shifting them into a word in registers isnt atomic. its also probably a bit slow. specifying the alignment fixes this. deraadt@ warned me about this maybe 8 years ago.
Diffstat (limited to 'lib/libsqlite3/src/expr.c')
0 files changed, 0 insertions, 0 deletions