NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Detour: Dynamic linking on Linux without Libc (github.com)
pjmlp 20 hours ago [-]
It is possible to have a dynamic environment without dynamic linking, that is how old UNIXes did it in the past via OS IPC, nowadays D-BUS as well, the problem then becomes the higher resource consumption when every little service is a process being started, and talked via IPC instead of a jump call.

Still quite relevant when security and host stability matters, though.

generichuman 18 hours ago [-]
That doesn't give you independence from the libc, does it? By extension you lose distro-independence too (not sure if Detour supports musl-based ones, need to run tests).

Agree that IPC will be more secure and stable though.

I imagine Detour is mostly targeting closed source projects trying to run on as many distros as possible.

pjmlp 18 hours ago [-]
No UNIX has independence from the libc, Linux is the exception to the UNIX rule that libc is the OS API, traditionally syscalls aren't ABI stable.

This approach isn't portable to other UNIX like platforms.

generichuman 17 hours ago [-]
I'm only thinking in terms of Linux distributions since I never needed to deploy software on other UNIXes (excluding macOS, but Apple constantly forces changes anyway).

Do other UNIXes have any problems similar to glibc ABI problems that Linux users experience, or do they stabilise the libc ABI similar to how Linux keeps syscalls stable?

pjmlp 17 hours ago [-]
There are naturally ABI breaks between major OS versions, outside of what POSIX requires.
generichuman 17 hours ago [-]
I will be even more impressed with linux syscall stability if your implication is that (some) people need to recompile their software for each major update on all other UNIXes.
pjmlp 17 hours ago [-]
Linux is only friendly for FOSS projects, it hardly has the same stability as commercial UNIX systems for closed source software.
Ericson2314 1 days ago [-]
Nest. This reminds of the problem of wishing INTERP supported $ORIGIN.
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 03:53:03 GMT+0000 (Coordinated Universal Time) with Vercel.