GCC рдХрдореНрдкрд╛рдЗрд▓рд░ рд╕реБрдЗрдЯрдорд╛ рд╕рдорд╛рд╡реЗрд╢
рдмрд╛рдЗрдЯрдХреЛрдб рдЙрддреНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ рдмреНрдпрд╛рдХрдЗрдиреНрдбрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, GCC рд▓реЗ eBPF рдХреЛ рд▓рд╛рдЧрд┐ libgcc рдкреЛрд░реНрдЯ рд░ ELF рдлрд╛рдЗрд▓рд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рдЙрдкрдХрд░рдгрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рдХрд░реНрдиреЗрд▓-рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХрд╛ рд▓реЛрдбрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ eBPF рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирдорд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫред GCC рдорд╛ eBPF рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рдкреНрдпрд╛рдЪрд╣рд░реВ Oracle рдХрд╛ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЬреЛ рдкрд╣рд┐рд▓реЗ рдиреИ рдерд┐рдП
eBPF рдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ C рднрд╛рд╖рд╛рдХреЛ рд╕рдмрд╕реЗрдЯрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реА рдХрд░реНрдиреЗрд▓рдорд╛ рд▓реЛрдб рдЧрд░рд┐рдиреНрдЫред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБ рдЕрдШрд┐, eBPF рдЕрдиреБрд╡рд╛рджрдХрд▓реЗ рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдмрд╛рдЗрдЯрдХреЛрдб рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫ рд░ рдХреЛрдбрдорд╛ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рдпрдорд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреБрдиреИ рд▓реВрдкрд╣рд░реВ рдЫреИрдирдиреН)ред
рд╕реБрд░реБрдорд╛, LLVM-рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВ рд▓рд┐рдирдХреНрд╕рдорд╛ eBPF рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдереНрдпреЛред GCC рдорд╛ eBPF рд╕рдорд░реНрдерди рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдЫ рдХрд┐рдирднрдиреЗ рдпрд╕рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд░ eBPF рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдЯреБрд▓рдХрд┐рдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдирдЧрд░реАред
eBPF рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрдХреЛ рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдЮреНрдЪрд╛рд▓рди рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЯреНрд░рд╛рдлрд┐рдХ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдЖрд╡реГрддреНрддрд┐ рд░ рд╕рдордп рдЧрдгрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░ kprobes/uprobes/tracepoints рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЯреНрд░реЗрд╕рд┐рдЩ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рд╕реНрд░реЛрдд: opennet.ru