I think Zig is trying to be the C to Rust's C++ but the scope creep of "well since we're already linked against libclang we might as well bundle a C compiler and a bunch of libc sources so we can statically cross-compile against anything we desire" is kinda annoying

but I think it has some chance of success. it passes my /bin/false test much better than C does. the result is comparable in size to static C builds if not better, but the strace output is much much shorter

@314 opinion: /bin/false should be an executable broken symlink

@sir why not a shell builtin while we're at it?
@sir oh sorry I thought there was something more to it

@314 real answer: I sometimes pass /bin/true or /bin/false into programs that don't execute them with the shell. POSIX requires the binaries to be present iirc

@sir that's nice, i like it when things aren't shell builtins

@314 yeah, shell builtins should be kept to a minimum. I'm all for /bin/[

@sir reminds me of when I wanted to get rid of shell
@sir oh, fun fact, if you invoke /bin/[ as /bin/[ it probably doesn't work, and will instead interpret arguments as /bin/test instead. I filed a posix bug about this and they were like, what's wrong with you? The [ syntax only works if it's simply called [.
@sir openbsd for sure. If you think about implementation, strcmp argv0 for "[" is easier than other variants.
Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!