GCC enthält elo e Backend fir Kompiléierung op eBPF

Abegraff an der GCC Compiler Suite akzeptéiert Code fir Programmer ze kompiléieren fir den Bytecode Dolmetscher an de Linux Kernel gebaut eGMP. Dank der Benotzung vun der JIT-Kompilatioun gëtt de Kernel-Bytecode op der Flucht a Maschinninstruktiounen iwwersat a mat der Leeschtung vum gebiertege Code ausgefouert. Patches mat eBPF Ënnerstëtzung ugeholl an d'Branche aus där d'GCC 10 Verëffentlechung entwéckelt ass.

Zousätzlech zu engem Backend fir Bytecode Generatioun, enthält GCC e libgcc Hafen fir eBPF an Tools fir ELF Dateien ze generéieren déi et méiglech maachen Code an der eBPF virtueller Maschinn auszeféieren mat Kernel geliwwert Luede. Patches fir eBPF am GCC z'ënnerstëtzen goufen vun Oracle-Ingenieuren virbereet, déi scho gemaach hunn virgesinn eBPF Ënnerstëtzung an GNU Binutils. E Simulator a Patches fir GDB sinn och an der Entwécklung, wat Iech erlaabt eBPF Programmer ze debuggen ouni se an de Kernel ze laden.

Programmer fir eBPF kënnen an engem Ënnerdeel vun der C Sprooch definéiert ginn, kompiléiert an an de Kernel gelueden. Virun der Ausféierung iwwerpréift den eBPF Dolmetscher de Bytecode fir d'Benotzung vun zulässlechen Instruktiounen an setzt bestëmmte Reegelen op de Code (zum Beispill keng Loops).
Am Ufank goufen LLVM-baséiert Tools benotzt fir eBPF op Linux ze kompiléieren. eBPF Support am GCC ass interessant well et Iech erlaabt een Toolkit ze benotzen fir de Linux Kernel an eBPF Programmer ze bauen, ouni zousätzlech Ofhängegkeeten z'installéieren.

A Form vun eBPF Programmer, kënnt Dir Netzbetrieb Handler erstellen, Traffic filteren, Bandbreedung verwalten, Systemer iwwerwaachen, Systemappellen ofbriechen, Zougang kontrolléieren, d'Frequenz an d'Zäit vun den Operatiounen zielen an d'Tracing mat kprobes / uprobes / tracepoints ausféieren.

Source: opennet.ru

Setzt e Commentaire