Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ioq: Check for io_uring_register_iowq_max_workers() before using it | Tavian Barnes | 2024-11-11 | 2 | -0/+12 |
| | | | | | | | This allows us to build against liburing as old as version 2.0, which is apparently shipped by the latest Amazon Linux distribution. Fixes: https://github.com/tavianator/bfs/issues/147 | ||||
* | alloc: Don't require size % align == 0 | Tavian Barnes | 2024-11-02 | 2 | -9/+0 |
| | | | | | | | | | Allowing unaligned sizes will allow us to allocate aligned slabs with additional metadata in the tail without ballooning the allocation size for large alignments. Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2244.htm#dr_460 Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2072.htm | ||||
* | Release 4.0.44.0.4 | Tavian Barnes | 2024-10-31 | 1 | -1/+1 |
| | |||||
* | Release 4.0.34.0.3 | Tavian Barnes | 2024-10-22 | 1 | -1/+1 |
| | |||||
* | xtime: Add a wrapper for timer_create()/setitimer() | Tavian Barnes | 2024-10-10 | 2 | -0/+10 |
| | | | | | | setitimer() is obsolescent in POSIX 2008 and removed from POSIX 2024. However, at least macOS doesn't implement the new timer_create() API, so we still need the setitimer() fallback. | ||||
* | build: Add -Wundef-prefix=BFS_ | Tavian Barnes | 2024-10-01 | 2 | -0/+10 |
| | |||||
* | Fix spelling | Tavian Barnes | 2024-09-23 | 1 | -1/+1 |
| | |||||
* | build/prelude: Remove vestigal OBJS definition | Tavian Barnes | 2024-09-18 | 1 | -11/+0 |
| | |||||
* | Release 4.0.24.0.2 | Tavian Barnes | 2024-09-17 | 1 | -1/+1 |
| | |||||
* | build: Remove gen/deps.mk | Tavian Barnes | 2024-09-14 | 4 | -66/+0 |
| | | | | | | | | | | | | | | | | Since commit 3552b79 ("build/flags: Infrastructure to detect compiler flag support"), this file only listed a bunch of lines like -include obj/src/alloc.d -include obj/src/bar.d ... We can do that just as well from the main Makefile, and in one line too: -include ${OBJS:.o=.d} This lets us pull the list of all objects out of build/prelude.mk and put it closer to where those objects are actually used. | ||||
* | build/flags: Use auto-detection for all warning flags | Tavian Barnes | 2024-09-05 | 9 | -12/+73 |
| | |||||
* | build/embed.sh: Simplify a sed expression | Tavian Barnes | 2024-09-03 | 1 | -1/+1 |
| | |||||
* | build: Move feature test macros to prelude.h | Tavian Barnes | 2024-08-28 | 1 | -13/+1 |
| | | | | | | This replaces the explicit CPPFLAGS list in flags.mk with just `-include src/prelude.h`, shortening our compiler command lines and allowing them to be easily documented. | ||||
* | build: Move tsan/target_clones conflict to the prelude | Tavian Barnes | 2024-08-28 | 1 | -4/+0 |
| | |||||
* | build: Move per-file flag support into cc.sh | Tavian Barnes | 2024-08-28 | 3 | -11/+33 |
| | |||||
* | build: Move the "compiler works at all" test earlier | Tavian Barnes | 2024-08-28 | 3 | -12/+19 |
| | |||||
* | build: Include the auto-flag build logs in config.log | Tavian Barnes | 2024-08-28 | 2 | -1/+2 |
| | |||||
* | build/flags-if: Fix sed expression on BSD | Tavian Barnes | 2024-08-28 | 1 | -1/+1 |
| | | | | | | | | `p` needs a terminating semicolon; otherwise we get sed: 1: "\|^///|{s|^/// ||; s|[^ ...": extra characters at the end of p command Fixes: 3552b79 ("build/flags: Infrastructure to detect compiler flag support") | ||||
* | build: Allow ./configure --version=X.Y.Z | Tavian Barnes | 2024-08-28 | 1 | -0/+1 |
| | |||||
* | build/version.sh: Move version calculation here | Tavian Barnes | 2024-08-28 | 1 | -0/+18 |
| | |||||
* | bar: Use tcgetwinsize() from POSIX 2024 if available | Tavian Barnes | 2024-07-28 | 2 | -0/+10 |
| | |||||
* | build: De-duplicate conditionally-supported flags | Tavian Barnes | 2024-07-28 | 1 | -6/+14 |
| | |||||
* | xspawn: Use _Fork() if available | Tavian Barnes | 2024-07-27 | 4 | -0/+18 |
| | | | | | | | This completes the workaround for bfs_spawn() hanging on FreeBSD with ASan enabled. Link: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280318 | ||||
* | build/flags: Add -Wmissing-variable-declarations if supported | Tavian Barnes | 2024-07-27 | 2 | -1/+11 |
| | |||||
* | build/flags: Infrastructure to detect compiler flag support | Tavian Barnes | 2024-07-27 | 4 | -5/+44 |
| | | | | Use it to detect -MD -MP support. | ||||
* | build/define-if.sh: Remove unneeded code | Tavian Barnes | 2024-07-27 | 1 | -3/+1 |
| | |||||
* | build: Save cc.sh build products to gen/ | Tavian Barnes | 2024-06-21 | 4 | -13/+8 |
| | |||||
* | build: Generate config.mk after config.h | Tavian Barnes | 2024-06-21 | 2 | -5/+8 |
| | | | | That way if ./configure fails, make will complain about it directly. | ||||
* | configure: Bail out if CC doesn't work at all | Tavian Barnes | 2024-06-18 | 1 | -2/+10 |
| | |||||
* | build: Rename CONFIG to CONFFLAGS | Tavian Barnes | 2024-06-18 | 1 | -1/+1 |
| | |||||
* | build: Include CC in bfs --version output | Tavian Barnes | 2024-06-13 | 1 | -0/+1 |
| | |||||
* | build: Use exec "$@" rather than just "$@" | Tavian Barnes | 2024-06-11 | 1 | -1/+1 |
| | | | | This avoids extra error reporting from set -e. | ||||
* | Revert "build: Add -Wmissing-variable-declarations" | Tavian Barnes | 2024-06-08 | 1 | -1/+0 |
| | | | | | | Turns out that flag was only added in GCC 14. This reverts commit 7cddd64b3131812b82feffe2deb311bf6ab9a262. | ||||
* | build: Add -Wmissing-variable-declarations | Tavian Barnes | 2024-06-08 | 1 | -0/+1 |
| | |||||
* | Embed more configuration info in bfs --version | Tavian Barnes | 2024-06-08 | 3 | -1/+18 |
| | |||||
* | atomic: Fix RISC-V build with GCC < 14 | Tavian Barnes | 2024-06-06 | 2 | -0/+8 |
| | | | | | | | | | | | | Prior to GCC 14.1, the __builtin_riscv_pause() can cause an error if the appropriate extension is not enabled in -march: /tmp/ccR1L1lA.s: Assembler messages: /tmp/ccR1L1lA.s:670: Error: unrecognized opcode `pause', extension `zihintpause' required Link: https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626748.html Link: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=c2d04dd659c499d8df19f68d0602ad4c7d7065c2 Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=riscv64&ver=3.3.1-1&stamp=1717488400&raw=0 | ||||
* | list: New SLIST_SPLICE() macro | Tavian Barnes | 2024-05-31 | 1 | -0/+1 |
| | |||||
* | configure: Color the checkmarks | Tavian Barnes | 2024-05-24 | 1 | -2/+12 |
| | |||||
* | build/deps: Fix _CPPFLAGS variable name | Tavian Barnes | 2024-05-24 | 1 | -1/+1 |
| | |||||
* | configure: Use --with/--without for libraries | Tavian Barnes | 2024-05-24 | 9 | -19/+15 |
| | |||||
* | build: Simplify flags.mk | Tavian Barnes | 2024-05-21 | 1 | -64/+43 |
| | |||||
* | build: Fix ubsan CFLAGS typo | Tavian Barnes | 2024-05-21 | 1 | -1/+1 |
| | |||||
* | build: Allow flags.mk to override command line variables | Tavian Barnes | 2024-05-21 | 3 | -29/+29 |
| | | | | | | | | 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 polyfill | Tavian Barnes | 2024-05-20 | 2 | -9/+0 |
| | | | | | | This has been fixed in Cosmopolitan. Link: https://github.com/jart/cosmopolitan/issues/944 | ||||
* | build: Remove unused configure test | Tavian Barnes | 2024-05-19 | 1 | -13/+0 |
| | |||||
* | dir: Add support for posix_getdents() | Tavian Barnes | 2024-05-17 | 3 | -0/+23 |
| | | | | | | | | 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 | ||||
* | build: Add missing SPDX headers | Tavian Barnes | 2024-05-17 | 3 | -0/+9 |
| | |||||
* | stat: Support __st_birthtim on OpenBSD | Tavian Barnes | 2024-05-16 | 2 | -0/+10 |
| | |||||
* | sighook: New utilities for hooking signals | Tavian Barnes | 2024-05-16 | 1 | -0/+2 |
| | | | | This allows multiple hooks to be installed for a single signal. | ||||
* | build: Sort generated headers | Tavian Barnes | 2024-05-08 | 1 | -4/+4 |
| |