Mradi wa elfshaker unatengeneza mfumo wa udhibiti wa toleo la faili za ELF.

Toleo la kwanza la mradi wa elfshaker, mfumo wa udhibiti wa toleo la binary ulioboreshwa kwa ajili ya kufuatilia mabadiliko ya utekelezaji wa ELF, umechapishwa. Mfumo huhifadhi patches za binary kati ya faili, inakuwezesha kurejesha toleo linalohitajika kwa ufunguo, ambayo huharakisha kwa kiasi kikubwa operesheni ya "git bisect" na inapunguza sana kiasi cha nafasi ya disk inayotumiwa. Msimbo wa mradi unasambazwa chini ya leseni ya Apache-2.0.

Mpango huo unajulikana kwa ufanisi wake wa juu wa kuhifadhi mabadiliko ya binary katika idadi kubwa ya faili za binary zinazofanana, kwa mfano, zilizopatikana wakati wa ujenzi wa ziada wa mradi mmoja. Hasa, matokeo ya ujenzi wa elfu mbili wa mkusanyaji wa Clang (kila ujenzi unaonyesha mabadiliko baada ya kila ahadi) inaweza kuhifadhiwa katika faili moja ya pakiti ya 100 MB kwa ukubwa, ambayo ni ndogo mara 4000 kuliko inavyohitajika ikiwa itahifadhiwa kando. .

Kutoa hali yoyote kutoka kwa faili uliyopewa huchukua sekunde 2-4 (mara 60 haraka kuliko git bisecting code LLVM), hukuruhusu kutoa haraka toleo linalohitajika la utekelezeji wa mradi bila kuunda tena kutoka kwa chanzo au kuhifadhi nakala ya kila toleo la toleo lililojengwa hapo awali. inayoweza kutekelezwa.

Chanzo: opennet.ru

Kuongeza maoni