I redact my praise of Haiku

Any operating system which does not offer a stable syscall ABI is a bad operating system written by lazy developers.

Forcing everyone who wants to make syscalls through libc is like telling anyone who wants to run a program in your userspace to staple an elephant to their back.

It has nothing to do with security, like OpenBSD would have you believe. Adding a 900lbs gorrilla of attack surface to every binary is not increasing security.

It's just lazy and shitty.

@sir In what way did they change it? Does it make any sense (debug support, efficiency, etc.)? I looked around, can't find anything specifically about such a change.

@vandys they go so far as to generate the syscall numbers during the build. The startup code depends on libc, which, incidentally, is implemented in C++. They have made no efforts whatsoever to support any other route to the kernel, and have made it needlessly difficult to do. I spoke about it with them at length, it's by design

@sir Ah, so sounds like they're running at their cognitive limit, so new requirements with any dissonance are being muted. They look at reorging their low levels, and in their eyes it's just another pit to fill.

After a long, long time I'm back looking at some OS low levels from my own creations. I can remember how some issues were just these pits which would never make the cut, and now it's like "sure, that's a good idea, I see exactly how it should go". Psychology.

@vandys Haiku is a pretty mature project at this point, we've been around for nearly two decades and have a good number of developers even today. The problem is absolutely not that we cannot or are unable to provide what Drew is asking for, it is that his philosophy and ours are at extreme odds here. But we are most assuredly not at our cognitive limits.

@waddlesplash @sir

And if this broken down old school hacker can help come up with something mutually satisfactory... send me a note. I won't think up anything better than you guys, but sometimes it just helps to have a neutral but friendly presence in the mix.

@sir So we are both "lazy" and doing something "by design" at the same time? Got it.

@vandys FWIW, I am the aforementioned "Haiku developer" whom Drew was arguing with earlier, and I think he's misrepresenting the argument. You can read the whole exchange here:

@waddlesplash @vandys yes, laziness by design. Are those meant to be incompatible somehow?

@waddlesplash @vandys it could also be cowardace, perhaps, but laziness is the more generous interpretation

While I wholeheartedly agree that you shouldn't have to link all of libc just to get some symbols for syscalls, as a sysadmin I'd be way more mad at you for releasing a runtime library that tries to patch my kernel. That's just absurd dude.

@abortretryfail @sir From what I understand from the conversation you don't actually have to link all of libc.

They made the arbitrary choice for their stable ABI to be a bunch of symbols instead of the arbitrary choice for their stable ABI to be syscall numbers, they inherited that choice from the system they have reimplemented and they're backwards-compatible with applications from the 90s, but apparently that amounts to crimes against humanity.

The almighty Goog adapted their Go to similar circumstances, but when @sir says "[then you can't have my awesome compiler]" they're supposed to react in some way other than a shrug and "uh, ok then, up to you".
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!