Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Release 3.0.13.0.1 | Tavian Barnes | 2023-07-18 | 1 | -1/+1 |
| | |||||
* | build: Move some flags around | Tavian Barnes | 2023-07-13 | 1 | -4/+4 |
| | |||||
* | docs: Start preparing for the 3.0 release | Tavian Barnes | 2023-06-30 | 1 | -1/+1 |
| | |||||
* | build/tsan: Fix target_clones override | Tavian Barnes | 2023-06-24 | 1 | -1/+1 |
| | |||||
* | Unify macro naming conventions | Tavian Barnes | 2023-06-24 | 1 | -10/+10 |
| | | | | | In particular, macros that decide whether to use a particular API/ dependency should be spelled BFS_USE_*, and should be configurable. | ||||
* | alloc: New header for memory allocation utilities | Tavian Barnes | 2023-06-20 | 1 | -1/+2 |
| | |||||
* | build: Turn off ASLR for all sanitizers on FreeBSD | Tavian Barnes | 2023-06-20 | 1 | -1/+1 |
| | | | | | | | | Newer LLVM versions will reject every sanitizer runtime if ASLR is enabled. Link: https://reviews.llvm.org/D66582 Link: https://reviews.freebsd.org/D33933 | ||||
* | ioq: Implement an async I/O queue | Tavian Barnes | 2023-06-12 | 1 | -0/+1 |
| | |||||
* | lock: Add wrappers for POSIX synchronization primitives | Tavian Barnes | 2023-06-12 | 1 | -1/+2 |
| | |||||
* | build: Update to C17 | Tavian Barnes | 2023-06-12 | 1 | -1/+1 |
| | | | | This lets us avoid ATOMIC_VAR_INIT(). | ||||
* | build: Add tsan to distcheck | Tavian Barnes | 2023-06-12 | 1 | -0/+4 |
| | |||||
* | build: Error on implicit function declarations | Tavian Barnes | 2023-05-18 | 1 | -0/+1 |
| | |||||
* | bit: Rename int.h to bit.h | Tavian Barnes | 2023-05-18 | 1 | -1/+1 |
| | |||||
* | build: Fix test utility compilation | Tavian Barnes | 2023-05-16 | 1 | -2/+4 |
| | |||||
* | int: Backport C23's _WIDTH macros | Tavian Barnes | 2023-05-16 | 1 | -1/+1 |
| | |||||
* | build: Make the tests a little less repetitive | Tavian Barnes | 2023-05-16 | 1 | -18/+16 |
| | |||||
* | Let musl builds use getdents64() | Tavian Barnes | 2023-05-03 | 1 | -1/+2 |
| | | | | | | Glibc exposes a different struct dirent and dirent64, while on musl they are the same. But musl needs _LARGEFILE64_SOURCE to expose the *64() aliases. | ||||
* | build: Fix tsan | Tavian Barnes | 2023-04-12 | 1 | -33/+39 |
| | |||||
* | list: Use macros instead of type-erased lists | Tavian Barnes | 2023-03-31 | 1 | -1/+0 |
| | |||||
* | list: New generic linked list API | Tavian Barnes | 2023-03-29 | 1 | -0/+1 |
| | |||||
* | Release 2.6.32.6.3 | Tavian Barnes | 2023-01-31 | 1 | -1/+1 |
| | |||||
* | Replace license boilerplate with SPDX tags | Tavian Barnes | 2023-01-25 | 1 | -15/+2 |
| | | | | | | | And while I'm at it, remove years from copyright declarations. Link: https://spdx.dev/about/ Link: https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/ | ||||
* | bfstd: New wrappers for dirname()/basename() | Tavian Barnes | 2023-01-19 | 1 | -4/+9 |
| | |||||
* | build: New $(LIBBFS) variable shared between the main binary and tests | Tavian Barnes | 2023-01-19 | 1 | -40/+44 |
| | |||||
* | Turn on more aggressive format string warnings | Tavian Barnes | 2022-12-09 | 1 | -2/+3 |
| | |||||
* | distcheck: Add ubsan to msan build | Tavian Barnes | 2022-11-11 | 1 | -1/+1 |
| | |||||
* | tests/xtouch: New utility | Tavian Barnes | 2022-11-07 | 1 | -2/+8 |
| | | | | | | POSIX touch(1) doesn't include the -h option, and indeed OpenBSD doesn't implement it. Making our own utility also lets us add some handy extensions like -p (create parents) and -M (set permissions). | ||||
* | bfstd: Rename from util and reorganize it | Tavian Barnes | 2022-11-06 | 1 | -1/+1 |
| | |||||
* | util: Get rid of BFS_HAS_INCLUDE() wrapper for __has_include() | Tavian Barnes | 2022-11-06 | 1 | -3/+3 |
| | | | | | | | | | Since __has_include() needs special preprocessing rules (e.g. not expanding `linux` in `__has_include(<linux/stat.h>)`, macros that expand to __has_include() do not necessarily behave correctly. Instead, we have to directly test `#if __has_include(...)`. See https://bugs.llvm.org/show_bug.cgi?id=37990 for more details. | ||||
* | Release 2.6.22.6.2 | Tavian Barnes | 2022-10-21 | 1 | -1/+1 |
| | |||||
* | Release 2.6.12.6.1 | Tavian Barnes | 2022-07-05 | 1 | -1/+1 |
| | |||||
* | Add fish completion | Gustavo Costa | 2022-06-14 | 1 | -0/+3 |
| | |||||
* | Makefile: Pass -std=gnu11 for gcov builds | Tavian Barnes | 2022-05-31 | 1 | -0/+2 |
| | | | | | | | Otherwise, libgcov doesn't intercept functions like fork() and exec(), so we lose some coverage data in xspawn.c. Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82457 | ||||
* | Release 2.62.6 | Tavian Barnes | 2022-05-21 | 1 | -1/+1 |
| | |||||
* | Makefile: Add a BUILDDIR variable for out-of-tree builds | Tavian Barnes | 2022-05-20 | 1 | -51/+55 |
| | | | | bfs can now be built from a read-only source tree. | ||||
* | Makefile: Split build into bin and obj directories | Tavian Barnes | 2022-05-16 | 1 | -54/+52 |
| | | | | | This also moves the main binary from ./bfs to ./bin/bfs, and ./tests.sh to ./tests/tests.sh, with the goal of keeping the repository root clean. | ||||
* | tests: Buffer standard error, and print it when tests fail | Tavian Barnes | 2022-05-13 | 1 | -2/+2 |
| | |||||
* | tests: Add --verbose={commands,errors,skipped,tests} options | Tavian Barnes | 2022-05-13 | 1 | -1/+1 |
| | |||||
* | tests: Use skip_if for sudo tests | Tavian Barnes | 2022-05-12 | 1 | -4/+3 |
| | | | | | | This lets us categorize the sudo tests properly, which fixes e.g. $ ./tests.sh --posix --sudo | ||||
* | Makefile: Look for .d files in the right places | Tavian Barnes | 2022-05-11 | 1 | -1/+1 |
| | | | | Fixes: f2cb2215213c0d831a697b0b440f78d9ad5c2b83 | ||||
* | Makefile: New check-install target | Tavian Barnes | 2022-05-09 | 1 | -0/+8 |
| | |||||
* | docs: Move some documentation into a subfolder | Tavian Barnes | 2022-04-21 | 1 | -1/+1 |
| | |||||
* | Add basic zsh completion | Arvid Norlander | 2022-04-21 | 1 | -0/+3 |
| | | | | Fixes #32. | ||||
* | Makefile: Put the main .o files under build/src | Tavian Barnes | 2022-04-21 | 1 | -35/+31 |
| | |||||
* | Makefile: Generate build/FLAGS.new with its own target | Tavian Barnes | 2022-04-21 | 1 | -4/+7 |
| | |||||
* | Makefile: Replace flags.sh with a two-line recipe | Tavian Barnes | 2022-04-19 | 1 | -1/+2 |
| | |||||
* | Makefile: Move .flags to build/FLAGS | Tavian Barnes | 2022-04-19 | 1 | -6/+6 |
| | |||||
* | Makefile: Quiet errors from git describe | Tavian Barnes | 2022-04-19 | 1 | -3/+5 |
| | | | | | | | | | | | | | | | | With new git versions, it is an error to invoke git inside a repository owned by someone else. This manifested as $ sudo make install fatal: unsafe repository ('/home/tavianator/code/bfs' is owned by someone else) To add an exception for this directory, call: git config --global --add safe.directory /home/tavianator/code/bfs Work around it with `2>/dev/null`. This should also help if git is not installed, but .git/ still exists. Link: https://github.blog/2022-04-12-git-security-vulnerability-announced/ | ||||
* | Makefile: Spread out the .PHONY targets | Tavian Barnes | 2022-04-18 | 1 | -2/+9 |
| | |||||
* | Makefile: Use a recipe to update .flags rather than $(shell) | Tavian Barnes | 2022-04-18 | 1 | -8/+4 |
| | | | | | | | | | This means we don't need to generate .flags unless we're actually building a target that needs it, which is important for thing like $ sudo make install that used to inconveniently create a root-owned .flags file. |