summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* build: Fix ubsan CFLAGS typoTavian Barnes2024-05-211-1/+1
|
* build: Allow flags.mk to override command line variablesTavian Barnes2024-05-214-31/+31
| | | | | | | | Previously, during something like ./configure LDFLAGS=..., any additions to LDFLAGS from the generated makefiles were ignored. I had thought that sub-make invocations would allow those variables to be overridden, but that is not the behaviour of make. So instead, set _LDFLAGS etc. in the generated files so that they don't conflict.
* prelude: Remove max_align_t polyfillTavian Barnes2024-05-203-24/+0
| | | | | | This has been fixed in Cosmopolitan. Link: https://github.com/jart/cosmopolitan/issues/944
* trie: Add some more target_clones wrappersTavian Barnes2024-05-201-2/+12
|
* prelude: Make sure to grab __GLIBC__Tavian Barnes2024-05-201-1/+2
|
* Stop using %mTavian Barnes2024-05-2010-52/+34
|
* build: Remove unused configure testTavian Barnes2024-05-191-13/+0
|
* printf: The ' ' (space) flag must be numericTavian Barnes2024-05-193-2/+3
|
* dir: Use posix_getdents() on all platformsTavian Barnes2024-05-171-2/+6
|
* dir: Add support for posix_getdents()Tavian Barnes2024-05-174-4/+35
| | | | | | | | This will be added to the next POSIX standard, and is already implemented in musl. Link: https://www.austingroupbugs.net/view.php?id=697 Link: https://git.musl-libc.org/cgit/musl/commit/?id=1b0d48517f816e98f19111df82f32bfc1608ecec
* Cast AT_FDCWD to int for comparisonsTavian Barnes2024-05-176-8/+8
| | | | | Some platforms define AT_FDCWD to a constant like 0xFFFAFDCD that gets typed as an unsigned int.
* ci: Surface compiler warnings/errors as GitHub actions messagesTavian Barnes2024-05-172-7/+23
|
* build: Add missing SPDX headersTavian Barnes2024-05-173-0/+9
|
* diag: New helpers to include xstrerror(errno) automaticallyTavian Barnes2024-05-1712-56/+93
|
* stat: Support __st_birthtim on OpenBSDTavian Barnes2024-05-163-0/+13
|
* distcheck: Disable tsan on FreeBSDTavian Barnes2024-05-161-1/+1
| | | | | | | | | ThreadSanitizer has some FreeBSD-specific bugs that are too difficult to work around. In particular, deadlock is possible if any signal with a user-defined handler interrupts an atomic operation. Link: https://github.com/llvm/llvm-project/issues/92313 Link: https://github.com/llvm/llvm-project/issues/92437
* Work around https://github.com/llvm/llvm-project/issues/88163Tavian Barnes2024-05-164-3/+24
|
* ctx: Try to reset TTY state when terminating abnormallyTavian Barnes2024-05-163-51/+105
| | | | Fixes: https://github.com/tavianator/bfs/issues/138
* bar: Use atsigexit() to reset the barTavian Barnes2024-05-161-132/+47
|
* sighook: New utilities for hooking signalsTavian Barnes2024-05-167-0/+777
| | | | This allows multiple hooks to be installed for a single signal.
* atomic: Add a spin_loop() hintTavian Barnes2024-05-151-0/+14
|
* atomic: Add atomic_{thread,signal}_fence() wrappersTavian Barnes2024-05-151-0/+19
|
* xspawn: Mask signals before fork()Tavian Barnes2024-05-151-8/+29
| | | | This prevents signal handlers from running in the child before execve().
* bar: Make SIGWINCH move the cursor out of the barTavian Barnes2024-05-151-23/+16
|
* bar: Defend bfs_bar::fd against signal handler racesTavian Barnes2024-05-091-31/+102
| | | | | This is not currently a problem because bfs_bar_hide() is only ever called while single-threaded, but we might as well program defensively.
* build: Sort generated headersTavian Barnes2024-05-081-4/+4
|
* dstring: Make dstrprintf() return dchar *Tavian Barnes2024-05-082-4/+4
|
* build/has/getdents: Squelch warningsTavian Barnes2024-05-073-9/+6
|
* ci: Save config.log filesTavian Barnes2024-05-071-5/+30
|
* distcheck: Don't build with make -sTavian Barnes2024-05-071-6/+6
| | | | That way I can see the ./configure output on CI.
* prelude: Kill #include <sys/param.h>Tavian Barnes2024-05-071-7/+0
| | | | We don't check for `BSD` anymore.
* build: Check for 1- and 2-argument getmntent() variantsTavian Barnes2024-05-074-2/+23
|
* build: Add a check for getmntinfo()Tavian Barnes2024-05-073-2/+12
|
* mtab: Fix getmntinfo() error checkTavian Barnes2024-05-071-1/+1
| | | | The man pages all say "if an error occurs, zero is returned"
* build: Add checks for strtofflags() and string_to_flags()Tavian Barnes2024-05-074-7/+29
|
* prelude: Remove unused __GLIBC_PREREQ() polyfillTavian Barnes2024-05-071-4/+0
|
* stat: Remove __GNU__ guardTavian Barnes2024-05-071-1/+1
| | | | | The number of people running bfs on Hurd with an outdated glibc version is vanishingly small (I hope).
* stat: Prefer fstat(fd) to fstatat(fd, "", AT_EMPTY_PATH)Tavian Barnes2024-05-071-19/+13
| | | | | | | | | This lets us get rid of the runtime probe for AT_EMPTY_PATH support, and should be more efficient anyway. We still use statx(fd, "", AT_EMPTY_PATH) if available. Link: https://lore.kernel.org/linux-fsdevel/CAHk-=wiYnnv7Kw7v+Cp2xU6_Fd-qxQMZuuxZ61LgA2=Gtftw-A@mail.gmail.com/
* prelude: Kill unused __NetBSD_Prereq__() polyfillTavian Barnes2024-05-071-4/+0
|
* xtime: Don't use timegm() on FreeBSD+msanTavian Barnes2024-05-061-1/+3
|
* xtime: Use the libc's timegm() if presentTavian Barnes2024-05-064-7/+51
|
* build: Don't look for -s inside VAR=val in $MAKEFLAGSTavian Barnes2024-05-031-0/+2
|
* Makefile: Recommend --enable-release over RELEASE=yTavian Barnes2024-05-021-2/+2
|
* Release 3.23.2Tavian Barnes2024-05-022-1/+31
|
* Prefer ./configure --enable-release to RELEASE=yTavian Barnes2024-05-022-3/+3
|
* build: Add some nice aliases to ./configureTavian Barnes2024-05-016-138/+221
|
* build: Listen to make -sTavian Barnes2024-04-3010-55/+115
|
* build: Replace `make config` with a `./configure` scriptTavian Barnes2024-04-2963-387/+445
| | | | | | | | | | This lets us do more traditional out-of-tree builds like $ ../path/to/bfs/configure $ make The .mk files are moved from ./config to ./build, mostly so that ./configure will auto-complete easily.
* bench: Get rid of stray lsTavian Barnes2024-04-271-1/+0
|
* config: Just use NOT to implement NORTavian Barnes2024-04-262-19/+4
|