Projekt SoLo vyvíja zavádzač systémových knižníc so pre plne statické Linuxové programy

Bol nový projekt SoLo, ktorý umožňuje úplne statickým Linuxovým programom zostaveným s musl načítať cez dlopen() knižnice glibc nainštalované v systéme, predovšetkým grafické ovládače. Zvyčajne je statická kompilácia nekompatibilná s ovládačmi Vulkan a OpenGL, ktoré distribúcie poskytujú ako zdieľané knižnice zostavené s glibc. SoLo odstraňuje toto obmedzenie prostredníctvom zabudovaného načítača ELF a medzičlánku, ktorý transformuje volania z glibc na musl runtime procesu — glibc sa do procesu nenahráva, druhý libc v procese sa neobjavuje. Kód je napísaný v C++ a rozširuje sa pod licenciou MIT.

V repozitári je prehľadný príklad: statický spustiteľný súbor, v ktorom nie je ani interpretr, ani dynamická sekcia, štandardným spôsobom pre Vulkan nachádza nainštalovaný ovládač, načíta ho spolu so závislosťami, vykonáva výpočtový shader a ukladá výsledok do PNG. V rámci nepretržitej integrácie sa príklad testuje na Alpine, Fedore a Ubuntue s balíkmi Lavapipe z oficiálnych repozitárov týchto distribúcií. Tento prístup sa už využíva v praxi — formuje vydania emulátora terminálu Shitty.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster