"The musl libc project has released version 1.0, the result of three years of development and testing. Musl is a lightweight, fast, simple, MIT-licensed, correctness-oriented alternative to the GNU C library (glibc), uClibc, or Android's Bionic. At this point musl provides all mandatory C99 and POSIX interfaces (plus a lot of widely-used extensions), and well over 5000 packages are known to build successfully against musl.
Several options are available for trying musl. Compiler toolchains are available from the musl-cross project, and several new musl-based Linux distributions are already available (Sabotage and Snowflake, among others). Some well-established distributions including OpenWRT and Gentoo are in the process of adding musl-based variants, and others (Aboriginal, Alpine, Bedrock, Dragora) are adopting musl as their default libc."
(Score: 1, Insightful) by Anonymous Coward on Thursday March 20 2014, @04:51PM
Then get to coding. Stop bitching and complaining and fix it yourself, bum.
(Score: 1) by ArghBlarg on Thursday March 20 2014, @05:46PM
I should have taken bets on how long it would take for someone to say exactly this
A break like this is even bigger than changing from COFF to ELF or switching ABIs. It would take a whole team and a lot of time. First a core string lib, then adapting the whole kernel to use it, then all of userland would have to be rewritten...
I'm not that young.. I'd be willing to contribute, but frankly I don't have the life-cycles to spare doing it as just a hobby unless there's some proof it would ever be finished. Point me to a team committed to taking it from start to finish, and I might take you up on it.
(Score: 0) by Anonymous Coward on Thursday March 20 2014, @05:56PM
Why should anyone do the work for you which is of dubious benefit? Put up or shut up, bum.
(Score: 1) by ArghBlarg on Thursday March 20 2014, @06:21PM
Not that I care, but it might be less anti-social of you to
a) post under a username, if you insist on insulting someone; and
b) consider that suggesting a solution, while not committing to implement said solution, does nothing to invalidate the original point.
So from one 'bum' to an anonymous coward, try to be a little more civil please. If you wanted to troll, you might have more fun on that "other site" where it's rampant.
(Score: 0, Flamebait) by Desler on Thursday March 20 2014, @06:37PM
Nope, I'll insult you all I want however I want.
Sure it does. You whining and complaining that other people won't implement your "great" idea. The solution to your problem is to stop being a lazy bum.
(Score: 2, Interesting) by ArghBlarg on Thursday March 20 2014, @07:34PM
Ah, thank you for logging in. I appreciate the small effort. Now could you take the further effort of trying to actually be civil when people are discussing improving the life of working programmers?
I assure you, as a programmer I am *not* lazy about such things such as string bounds-checking and so forth. I simple get annoyed when, yet again, I have to write or maintain code that's trying to programmatically build strings with snprintf(), strncpy(), and especially strncat(): keeping track of how much buffer space is left, going over my code (and other team members', or worse 3rd-party code I can't change), day in and day, code review after code review, looking for subtle errors in bounds-checking arithmetic when it should be pushed into string lib routines.
Null-terminated strings appear to make pushing that logic into the string libraries more difficult than it ought to be. If it's so easy, then why hasn't the standard lib pushed all of this druge-work fully into the library so that no one has to do it any more, since it's so error-prone?
Ironically, if this particular "programmer", as you so contemptibly put it, was exclusively working in higher-level languages, he wouldn't be so annoyed about this aspect of the standard libs after so many years of working with them.
(Score: 1) by ArghBlarg on Thursday March 20 2014, @08:11PM
All right, I should resist, but I'd like to make one final point in the spirit of *constructive* discussion.
1. Programmers should be lazy, in the respect that underlying causes of common errors are solved, rather than manually fixing the same things over and over again. So on that point, I'll take your 'lazy bum' label and wrap it around myself proudly. Perhaps in the meantime I could be diligent in future projects and write my own wrappers around the (still not-good-enough) snprintf(), strncpy(), strncat() libs and try to apply them everywhere I can.
But they won't be standard, and they won't be in the OSes I use.
2. You still have not added constructively to this discussion by stating what better solution there is, or might be. If you truly believe the status quo is the best there is or will ever be, then we'll just have to agree to disagree. I, for one, would like to keep thinking about the possibilities for a better solution.
So: What's your better solution, that will allow all programmers henceforth to be able to use strings without worrying as much about buffer overflows and fencepost errors?
(Score: 3, Insightful) by gringer on Thursday March 20 2014, @08:19PM
A higher level language.
Ask me about Sequencing DNA in front of Linus Torvalds [youtube.com]
(Score: 1) by ArghBlarg on Thursday March 20 2014, @10:03PM
Fair enough, that's a valid solution for userspace development. Still doesn't address the fact that all current mainstream OSes are effectively locked-in to the use of C-style strings. Maybe that's not a problem for anyone else but me.
(Score: 0) by Anonymous Coward on Friday March 21 2014, @12:31PM
SO, the sooner you start....