Ise agbese elfshaker n ṣe agbekalẹ eto iṣakoso ẹya fun awọn faili ELF.

Itusilẹ akọkọ ti iṣẹ akanṣe elfshaker, eto iṣakoso ẹya alakomeji ti iṣapeye fun titele awọn ayipada si awọn imuṣẹ ELF, ti ṣe atẹjade. Eto naa tọju awọn abulẹ alakomeji laarin awọn faili, ngbanilaaye lati gba ẹya ti o fẹ nipasẹ bọtini, eyiti o ṣe iyara iṣẹ “git bisect” ni pataki ati dinku iye aaye disk ti a lo. Koodu ise agbese ti pin labẹ iwe-aṣẹ Apache-2.0.

Eto naa jẹ ohun akiyesi fun ṣiṣe giga rẹ ni titoju awọn ayipada alakomeji ni nọmba nla ti awọn faili alakomeji ti o jọra, fun apẹẹrẹ, ti o gba lakoko awọn itumọ ti afikun ti iṣẹ akanṣe kan. Ni pataki, awọn abajade ti awọn atunkọ ẹgbẹrun meji ti olupilẹṣẹ Clang (atunṣe kọọkan ṣe afihan iyipada lẹhin igbimọ kọọkan) ni a le fipamọ sinu faili idii kan ti 100 MB ni iwọn, eyiti o jẹ awọn akoko 4000 kere ju ohun ti yoo nilo ti o ba fipamọ lọtọ lọtọ. .

Yiyọ eyikeyi ipinlẹ lati faili ti a fun ni gba awọn aaya 2-4 (awọn akoko 60 yiyara ju git bisecting LLVM koodu), gbigba ọ laaye lati yara yọ ẹya ti o fẹ ti awọn iṣẹ ṣiṣe akanṣe kan laisi atunkọ lati orisun tabi titoju ẹda kan ti ẹya kọọkan ti a ti kọ tẹlẹ. executable.

orisun: opennet.ru

Fi ọrọìwòye kun