Projektet SoLo udvikler en loader til systemso-biblioteker for fuldstændigt statiske Linux-programmer

Projektet SoLo er offentliggjort, hvilket giver fuldt statiske Linux-programmer, der er bygget med musl, mulighed for at indlæse glibc-biblioteker installeret på systemet via dlopen(), primært GPU-drivere. Typisk er statisk build ikke kompatibel med Vulkan- og OpenGL-drivere, som distributioner leverer som delte biblioteker, bygget med glibc. SoLo fjerner denne begrænsning ved hjælp af en indbygget ELF-loader i den eksekverbare fil og et lag, der oversætter glibc-opkald til musl-runtime for processen — selve glibc indlæses ikke i processen, og der opstår ikke en anden libc i processen. Koden er skrevet i C++ og distribueres under MIT-licensen.

Repository'en indeholder et illustrativt eksempel: en statisk eksekverbar fil, hvor der hverken er fortolker eller dynamisk sektion, som på den normale måde for Vulkan finder den installerede driver i systemet, indlæser den sammen med afhængigheder, udfører en beregningsshader og gemmer resultatet i PNG. Som en del af kontinuerlig integration bliver eksemplet testet på Alpine, Fedora og Ubuntu med Lavapipe-pakker fra de officielle repositories for disse distributioner. Denne tilgang bruges allerede i praksis - den danner udgivelsessamlingerne for terminalemulatoren Shitty.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster