Imejumuishwa katika kitengo cha mkusanyaji wa GCC
Kando na mandharinyuma ya utengenezaji wa bytecode, GCC inajumuisha mlango wa libgcc wa eBPF na zana za kutengeneza faili za ELF ambazo hurahisisha kutekeleza msimbo katika mashine pepe ya eBPF kwa kutumia vipakiaji vilivyotolewa na kernel. Viraka vya kusaidia eBPF katika GCC vilitayarishwa na wahandisi kutoka Oracle, ambao walikuwa tayari
Programu za eBPF zinaweza kufafanuliwa katika sehemu ndogo ya lugha C, iliyokusanywa na kupakiwa kwenye kernel. Kabla ya utekelezaji, mkalimani wa eBPF huangalia bytecode kwa matumizi ya maagizo yaliyoruhusiwa na anaweka sheria fulani kwenye kanuni (kwa mfano, hakuna vitanzi).
Hapo awali, zana zenye msingi wa LLVM zilitumiwa kukusanya eBPF kwenye Linux. Usaidizi wa eBPF katika GCC ni wa kuvutia kwa sababu hukuruhusu kutumia zana moja kuunda programu za Linux kernel na eBPF, bila kusakinisha vitegemezi zaidi.
Katika mfumo wa programu za eBPF, unaweza kuunda vidhibiti vya utendakazi wa mtandao, trafiki ya chujio, kudhibiti kipimo data, kufuatilia mifumo, kukata simu za mfumo, kudhibiti ufikiaji, kuhesabu marudio na wakati wa operesheni, na kutekeleza ufuatiliaji kwa kutumia kprobes/uprobes/tracepoints.
Chanzo: opennet.ru