3 ms·
> musl libc I'm conflicted on Musl. I like the idea. I like the focus on robustness. I like Felker's style [1]. But for God's sake, Musl refuses to implement b
by quotemstr 11y ago
> musl libc
I'm conflicted on Musl. I like the idea. I like the focus on robustness. I like Felker's style [1]. But for God's sake, Musl refuses to implement basic operating system primitives we've had for decades, like dlclose(3), all because the author, from his necessarily limited perspective, just can't understand why someone would want those facilities.
I'm sticking with glibc until the Musl people decide they want robustness and feature parity.
By the way: PAM isn't "add in the bloat of additional backends". Dynamic loading of backends is the opposite of bloat.
There's absolutely no reason Felker can't greatly improve libc robustness and maintain at least source-level compatibility with a libc we've used for decades and that has many valuable features. Musl's sin is being gratuitously opinionated.
[1] http://ewontfix.com/ http://ewontfix.com/, good for the most part. Wrong about 32-bit PIC being terrible. (What we really need is -fvisibility=hidden and -Bsymbolic by default.)
- vezzy-fnord 11y agorobustness and feature parity Some features aren't worth having parity with, or at least need to be well rethought - and Felker has had a good track record with the latter in terms of thread-local storage, UTF-8 and other properties, so I'm looking forward to how the musl community settles the question of name directories.
- justincormack 11y agoSource level compatibility with glibc is a terrible idea, it is a huge and bloated system, which quite clearly has made a lot of mistakes - which it is gradually fixing some of. C is no longer a general purpose programming language, and needs to be used more carefully when it is needed, and Musl helps you do that. Use a safe language if you want more stuff.
- quotemstr 11y agoPuritanism in system libraries helps nobody. What you consider "bloated" others consider essential. If you're responsible for the lowest-level userspace library on a system, one that every component uses to talk to every other component, you have no business foisting your opinion on the world. glibc, buggy and hacky as it is, doesn't try to impose its opinions on you.
- justincormack 11y agoSource level compatibility means replicating the bugs, which is pointless, just use glibc if you want it to be identical. Musl is basically like the libcs of the BSDs, ie less stuff it just made up, just the standards compliant stuff. Add the other stuff to your own library.
- quotemstr 11y ago> Source level compatibility means replicating the bug No it doesn't. For example: we can fix the the glibc pthread_mutex_lock bug without affecting ABI or source compatibility.