ืืืื ืืืืืืช ืืืืืจ ืฉื GCC
ืื ืืกืฃ ื-backend ืืืฆืืจืช bytecode, GCC ืืืื ืืฆืืืช libgcc ืขืืืจ eBPF ืืืืื ืืืคืงืช ืงืืฆื ELF ืืืืคืฉืจืื ืืืฆืข ืงืื ืืืืื ื ืืืืืจืืืืืืช eBPF ืืืืฆืขืืช ืืขืืืกืื ืืืกืืคืงืื ืขื ืืื ืืืื. ืชืืงืื ืื ืืชืืืื ื-eBPF ื-GCC ืืืื ื ืขื ืืื ืืื ืืกืื ื-Oracle, ืฉืืืจ ืขืฉื ืืืช
ื ืืชื ืืืืืืจ ืชืืื ืืืช ืขืืืจ eBPF ืืชืช-ืงืืืฆื ืฉื ืฉืคืช C, ืืืืืืจ ืืืืขืื ืืชืื ืืืืื. ืืคื ื ืืืืฆืืข, ืืชืืจืืื eBPF ืืืืง ืืช ืงืื ืืืชืื ืืฉืืืืฉ ืืืืจืืืช ืืืชืจืืช ืืืืื ืืืืื ืืกืืืืื ืขื ืืงืื (ืืืืืื, ืืื ืืืืืืช).
ืืชืืืื, ื ืขืฉื ืฉืืืืฉ ืืืืื ืืืืกืกื LLVM ืืื ืืืืจ eBPF ืขื ืืื ืืงืก. ืชืืืืช eBPF ื-GCC ืืื ืืขื ืืื ืช ืืืืืื ืฉืืื ืืืคืฉืจืช ืื ืืืฉืชืืฉ ืืขืจืืช ืืืื ืืืช ืืื ืืื ืืช ืืช ืืืืช ืืื ืืงืก ืืชืืื ืืืช eBPF, ืืืื ืืืชืงืื ืชืืืช ื ืืกืคืช.
ืืฆืืจื ืฉื ืชืืื ืืืช eBPF, ื ืืชื ืืืฆืืจ ืืืคืื ืคืขืืืืช ืืจืฉืช, ืืกื ื ืชืขืืืจื, ืื ืื ืจืืื ืคืก, ืื ืืจ ืืขืจืืืช, ืืืืจื ืฉืืืืช ืืขืจืืช, ืืฉืืื ืืืืฉื, ืืกืคืืจ ืืช ืชืืืจืืช ืืืื ืืคืขืืืืช ืืืืฆืข ืืขืงื ืืืืฆืขืืช kprobes/uprobes/tracepoints.
ืืงืืจ: OpenNet.ru