~mcf/drawterm

use C99 designated initializer syntax
kern: remove per-process information from devcons

Devcons has no business poking at the process state.

The following files are being removed:

#c/cputime
#c/pgrpid
#c/pid
#c/ppid
#c/user
add preliminary riscv64 support from archlinux (thanks Sören Tempel)
devaudio-sndio: use a documented default device string

Passing NULL as a device string was never supposed to work,
at least I couldn't find a mention of it in documented interface.
It appeared to work anyway, up until recently, when sio_open
started failing.
00a4e16e — mischief 7 months ago
gui-x11: handle WM_DELETE_WINDOW messages

previously drawterm did not handle the ICCCM[1] protocol for graceful window
closure. most if not all window managers will send this message, but it is
implemented inconsistently. some will forcibly terminate the X11 client's
connection if it doesn't handle it, and others will just give up. some prompt
for forcible termination. in any case, now we handle it.

to make this change work, we also setup the X11 window in the xkmcon
connection, because otherwise it seems not possible to receive the
ClientMessage in our event handler. without this the event would instead be
sent to the xdisplay connection, which we did not monitor for events.

[1] https://www.x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html#window_deletion
freebsd: AUDIO=unix works, so use it. Tested on 12.1
devfs-posix: fix pread/pwrite for large (>2Gb) files
osx-cocoa: ensure array is non-empty before indexing

If we have nothing pastable, we can get either a nil or
an empty array. We were checking for nil, but we'd index
the empty array and crash. Now we don't.
cpu: remove /env/PASS to avoid leaking password to the remote system
Add devenv to provide exit status for rcpu (thanks Fazlul)

Original change applied, but with different handling
of $rstatus using atexit() handler instead of modifying
exportfs read loop.

Also importing plan9 libc getenv().
arm64/tas: use atomic builtin when possible, fixes drawterm on aarch64 android
Make.unix: -lm (for frexp)
devfs-posix: apply u9fs truncate support (thanks Fazlul Shahriar)

This was copied fro u9fs, with the issue filed in:

https://github.com/golang/go/issues/39238
fix drawterm compiles using gcc 10

-fno-common became the default, and and kmesg was relying
on common symbols being merged.
get the WM_NAME and WM_CLASS from the environment
remove unused macro from chan.c (from 9front)
x11 set wm properties needs a display flush to work
remove cpu specific _sha1block() and _md5block() functions

we used to have cpu specific _sha1block() and _md5block()
functions for 386, but every other arch just copied the
portable c version.

md5() and sha1() are not really on the critical path as
we use chacha20/poly1305 over TLS for communication with
the cpu server.

so just get rid of the noise.
Next