this post was submitted on 10 Jun 2026
6 points (100.0% liked)

Rust

8057 readers
61 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 3 years ago
MODERATORS
 

Crossposted from https://lemmy.ml/post/48563577

Initial release of FLI - really tiny and fast (like a ๐Ÿชฐ) directory listing tool.

Initial Why: need some easy readable ls like tool for rpi to use via ssh.

Current Why: check if with Rust one can build core utils like tools faster and smaller.

  • Size:

18K - RPI ZERO W

51KB - Mac

  • Default mode streams readdir() => stdout with zero heap allocation.

  • Nice readabilty thx to (๐Ÿ“„ and ๐Ÿ—‚๏ธ) instead of text coloring

  • Written in no_std #rust + libc.

https:// github.com/tracyspacy/fli

top 2 comments
sorted by: hot top controversial new old
[โ€“] BB_C@programming.dev 3 points 12 hours ago (1 children)
    "-C", "link-arg=-lstdc++",
    "-C", "link-arg=-lsupc++",
    "-C", "link-arg=-lgcc_s"

Now, that's just funny. But hey, you're using -Os to keep that binary size low ๐Ÿ˜‡

And what's with the global allocator being initialized in a module? (didn't/don't know if that even works)

If you want to do things really minimally, check out the rustix crate which wraps syscalls directly.

Otherwise, and if loading huge shared libraries is fine, then you might as well not go nostd at all, since you can just pass -C prefer-dynamic for that elusive magically-small std-using binary ๐Ÿ™„

[โ€“] tracyspcy@lemmy.ml 2 points 4 hours ago

"-C", "link-arg=-lstdc++", "-C", "link-arg=-lsupc++", "-C", "link-arg=-lgcc_s"

good catch!

rustix - take a look, thx.

no_std was my deliberate choice. -C prefer-dynamic - it feels that it may be a more fragile option and add some hassles with cross compiling - something like error while loading shared libraries: ... so I have to provide libstd.so as well together with binary to rpi .. where is the gain?