Earlier quoted context omitted.
If it’s anything like GPU shaders, it’s because the bytecode format itself is Turing-complete and not-so-sandboxed, and the actual security/fault-tolerance comes from a static analysis pass done during compilation that ensures the source code being compiled isn’t doing anything crazy. If you were able to load bytecode directly, you’d skip this verification step. (I’ve always thought VM runtimes should have signing ke…
eBPF is specifically not Turing-complete because you can not prove any property of Turing-complete language code.
Extending the Linux Kernel with Built-In Kernel Headers
21–30 of 62 posts
Re: Extending the Linux Kernel with Built-In Kernel Headers
#22Earlier quoted context omitted.
eBPF is specifically not Turing-complete because you can not prove any property of Turing-complete language code.
eBPF is not Turing-complete, but static analysis can absolutely prove things about individual programs in Turing-complete languages.
You can construct non-turing-complete languages which all code can be proven, and that is the point the parent is making.
Re: Extending the Linux Kernel with Built-In Kernel Headers
#23Re: Extending the Linux Kernel with Built-In Kernel Headers
#24> embed the kernel headers within the kernel image itself and make it available through the sysfs virtual filesystem (usually mounted at /sys) as a compressed archive file (/sys/kernel/kheaders.tar.xz) eeww
Re: Extending the Linux Kernel with Built-In Kernel Headers
#25> embed the kernel headers within the kernel image itself and make it available through the sysfs virtual filesystem (usually mounted at /sys) as a compressed archive file (/sys/kernel/kheaders.tar.xz) eeww
Why tarred and compressed though? If it wasn't, one could point a compiler directly at it.
Re: Extending the Linux Kernel with Built-In Kernel Headers
#26Earlier quoted context omitted.
File this one under: kludges to get around openly user-hostile userland.
How so? Seems like an elegant enough solution to ensure you always have the right headers to build modules against the currently running kernel.
Re: Extending the Linux Kernel with Built-In Kernel Headers
#27Earlier quoted context omitted.
File this one under: kludges to get around openly user-hostile userland.
How so? Seems like an elegant enough solution to ensure you always have the right headers to build modules against the currently running kernel.
Re: Extending the Linux Kernel with Built-In Kernel Headers
#28> embed the kernel headers within the kernel image itself and make it available through the sysfs virtual filesystem (usually mounted at /sys) as a compressed archive file (/sys/kernel/kheaders.tar.xz) eeww
Re: Extending the Linux Kernel with Built-In Kernel Headers
#29Earlier quoted context omitted.
It irks you because storing source code directly in the final binary is bonkers, but unfortuantely it is the only way to reveal all the complexity that can be exposed in a C header file. This isn't really just a C problem though. Even rust has a similar problem for propagating macros. The reason for this limitation is really that making an ABI for metaprograms (macros) is exceedingly difficult
Are there other languages that provide interfaces as cleanly as exposing C header files?
I think the concept of coding to an interface (or an API specification) goes beyond what java did. In my professional life, I see people constantly downplaying and ignoring importance of a formal and stable API specification, just to suffer consequences later.
Re: Extending the Linux Kernel with Built-In Kernel Headers
#30Earlier quoted context omitted.
Are there other languages that provide interfaces as cleanly as exposing C header files?
java interfaces. I think the concept of coding to an interface (or an API specification) goes beyond what java did. In my professional life, I see people constantly downplaying and ignoring importance of a formal and stable API specification, just to suffer consequences later.
Said differently, can I download your .jar and write my own code to interface with it while on a desert island without any other resources?