Commits
- Commit:
c53ad837a734f7570badcb3666ccb3604e7e6467
- From:
- Russ Cox <rsc@swtch.com>
- Date:
lib9: avoid unportable use of d_namlen in dirread
Fixes #395.
- Commit:
587933c16132d880a06ff99bd087e64a3a04975e
- From:
- Russ Cox <rsc@swtch.com>
- Date:
devdraw: use global drawlk instead of per-client
Setting up for a real window system.
- Commit:
94d381ec9d579e5336f3817b68cf4d1a8a7333db
- From:
- Russ Cox <rsc@swtch.com>
- Date:
devdraw: use indirect impl interface
Setting up for a real window system.
- Commit:
162d0d5cd94fabab822ac66655be8957151cef99
- From:
- Russ Cox <rsc@swtch.com>
- Date:
libthread: handle spurious _procsleep wakeups, fix $LIBTHREAD handling
- Commit:
baef953da253314657be9adea8f371bfbf4ba09e
- From:
- Russ Cox <rsc@swtch.com>
- Date:
libthread: add pthreadperthread mode and use under ASAN
ASAN can't deal with the coroutine stacks.
In theory we can call into ASAN runtime to let it know about them,
but ASAN still has problems with fork or exit happening from a
non-system stack. Bypass all possible problems by just having
a full OS thread for each libthread thread. The threads are still
cooperatively scheduled within a proc (in thos mode, a group of OS threads).
Setting the environment variable LIBTHREAD=pthreadperthread
will enable the pthreadperthread mode, as will building with
CC9FLAGS='-fsanitize=address' in $PLAN9/config.
This solution is much more general than ASAN - for example if
you are trying to find all the thread stacks in a reproducible crash
you can use pthreadperthread mode with any debugger that
knows only about OS threads.
- Commit:
06687f70ba7a5836c2e872648a85a724a5a1d486
- From:
- Russ Cox <rsc@swtch.com>
- Date:
INSTALL: build mk all the time
If mk gets into a bad state, it's not obvious that you can
remove the binary to force the rebuild. Also, not rebuilding
means that bugs in mkmk.sh are not noticed.
Just rebuild from scratch every time. It doesn't take too long
compared to the rest of INSTALL.
- Commit:
9444b8e4bc847f8fd9d02466976b962288cedf31
- From:
- Russ Cox <rsc@swtch.com>
- Date:
9c, 9l: accept CC9FLAGS from config
Also, if CC9FLAGS includes -fsanitize=address (ASAN),
predefine PLAN9PORT_ASAN for use by programs that need
to know (mainly libthread).
The 9c script used to have a variable called ngflags, which
was ccflags except -g (ng stood for "no g"), but nothing needs
it split out anymore, so simplify to just ccflags.
- Commit:
154140a22b1c697f6a3edb3e5913efded1be082a
- From:
- Russ Cox <rsc@swtch.com>
- Date:
mk: replace overlapping strcpy with memmove
Found by ASAN.
- Commit:
8cb7308f3a24249ed091c7decf22005c64099783
- From:
- Russ Cox <rsc@swtch.com>
- Date:
lib9: use opendir/readdir to read directories
getdirentries(2) has been deprecated on macOS since 10.5 (ten releases ago).
Using it requires disabling 64-bit inodes, but that in turn makes binaries
incompatible with some dynamic libraries, most notably ASAN.
At some point getdirentries(2) will actually be removed.
For both these reasons, switch to opendir/readdir.
A little clunky since we have to keep the DIR* hidden away
to preserve the int fd interfaces, but it lets us remove a bunch
of OS-specific code too.
- Commit:
16f60479e16e3714b376e633c6b902a32e0607ea
- From:
- Russ Cox <rsc@swtch.com>
- Date:
lib9: move seek into open.c
More preparation for opendir.
- Commit:
6fd4e901ce48f2e056c505c81320f786175588ff
- From:
- Russ Cox <rsc@swtch.com>
- Date:
lib9: add close
More preparation for opendir.
- Commit:
58fdc083addda3f95eb8895f474da5a52f145be0
- From:
- Russ Cox <rsc@swtch.com>
- Date:
lib9: merge create, open, dirread into open.c
Preparation for using opendir.
- Commit:
bd6f12068b28ba7eb96a3cd495e2201c852682b7
- From:
- Kurt H Maier <khm@pnnl.gov>
- Via:
- Dan Cross <crossd@gmail.com>
- Date:
fmt: adjust GCC version check
atomics were added in GCC 4.9: https://gcc.gnu.org/gcc-4.9/changes.html
- Commit:
5802b09e9d8ceadd2cefdccfd0391c04e492369b
- From:
- Ben Huntsman <BHuntsman@mail2.cu-portland.edu>
- Via:
- Russ Cox <rsc@swtch.com>
- Date:
all: fix #includes for AIX, add a few AIX "implementation" files
- Commit:
f84d54a0337f9e101c8baeb51272f33b05b2a0e1
- From:
- Ben Huntsman <BHuntsman@mail2.cu-portland.edu>
- Via:
- Russ Cox <rsc@swtch.com>
- Date:
mk: support Big Archive Format under AIX