GCC хөрвүүлэгчийн багцад багтсан болно
GCC нь байт код үүсгэх backend-ээс гадна eBPF-д зориулсан libgcc порт болон цөмөөр хангагдсан дуудагч ашиглан eBPF виртуал машинд код ажиллуулах боломжтой ELF файл үүсгэх хэрэгслүүдийг агуулдаг. GCC дахь eBPF-ийг дэмжих засваруудыг Oracle-ийн инженерүүд бэлтгэсэн бөгөөд аль хэдийн бэлтгэсэн
eBPF-д зориулсан программуудыг Си хэлний дэд бүлэгт тодорхойлж, эмхэтгэж, цөмд ачаалж болно. Гүйцэтгэхийн өмнө eBPF орчуулагч нь зөвшөөрөгдсөн зааврыг ашиглахын тулд байт кодыг шалгаж, кодонд тодорхой дүрмийг ногдуулдаг (жишээлбэл, гогцоо байхгүй).
Эхэндээ LLVM-д суурилсан хэрэгслүүдийг Линукс дээр eBPF хөрвүүлэхэд ашигладаг байсан. GCC дахь eBPF дэмжлэг нь нэмэлт хамаарал суулгахгүйгээр Линуксийн цөм болон eBPF програмуудыг бүтээхэд нэг хэрэглүүрийг ашиглах боломжийг олгодог тул сонирхолтой юм.
eBPF програмын хэлбэрээр та сүлжээний үйл ажиллагааны зохицуулагчийг үүсгэх, урсгалыг шүүх, зурвасын өргөнийг удирдах, системд хяналт тавих, системийн дуудлагыг таслан зогсоох, хандалтыг хянах, үйлдлийн давтамж, цагийг тоолох, kprobes/uprobes/tracepoints ашиглан мөрдөх боломжтой.
Эх сурвалж: opennet.ru