{"id":37963,"date":"2019-10-31T22:20:52","date_gmt":"2019-10-31T19:20:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/v-sostav-gcc-prinyat-bekend-dlya-kompilyatsii-v-ebpf\/"},"modified":"2019-10-31T22:20:52","modified_gmt":"2019-10-31T19:20:52","slug":"v-sostav-gcc-prinyat-bekend-dlya-kompilyatsii-v-ebpf","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/v-sostav-gcc-prinyat-bekend-dlya-kompilyatsii-v-ebpf","title":{"rendered":"Le backend pour la compilation en eBPF a \u00e9t\u00e9 accept\u00e9 dans GCC","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Le contenu du ensemble de compilateurs GCC <noindex><a rel=\"nofollow\" href=\"https:\/\/gcc.gnu.org\/ml\/gcc-patches\/2019-08\/msg01987.html\">adopt\u00e9<\/a><\/noindex> code pour compiler des programmes pour l'interpr\u00e9teur de bytecode int\u00e9gr\u00e9 dans le noyau Linux <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/networking\/filter.txt\">eBPF<\/a><\/noindex>. Gr\u00e2ce \u00e0 l'utilisation de la compilation JIT, dans le noyau, le bytecode est traduit \u00e0 la vol\u00e9e en instructions machine et ex\u00e9cut\u00e9 avec la performance du code natif. Des patches avec support eBPF <noindex><a rel=\"nofollow\" href=\"https:\/\/gcc.gnu.org\/git\/?p=gcc.git;a=commitdiff;h=3ec6f8cb4ae9aa410a3fecee6922986f7beb46da\">ont \u00e9t\u00e9 adopt\u00e9es<\/a><\/noindex> dans la branche sur laquelle se base la version GCC 10.<\/p>\n<p>En plus du backend pour la g\u00e9n\u00e9ration de bytecode, GCC inclut un port libgcc pour eBPF et des outils pour cr\u00e9er des fichiers ELF, permettant d'ex\u00e9cuter du code dans une machine virtuelle eBPF en utilisant les chargeurs fournis par le noyau. Les patches pour le support eBPF dans GCC ont \u00e9t\u00e9 pr\u00e9par\u00e9s par des ing\u00e9nieurs de la soci\u00e9t\u00e9 Oracle, qui avaient d\u00e9j\u00e0 <noindex><a rel=\"nofollow\" href=\"https:\/\/sourceware.org\/ml\/binutils\/2019-05\/msg00306.html\">assur\u00e9<\/a><\/noindex> le support eBPF dans GNU binutils. Un simulateur et des patches pour GDB sont \u00e9galement en cours de d\u00e9veloppement, permettant de d\u00e9boguer des programmes eBPF sans les charger dans le noyau.<\/p>\n<p>Les programmes pour eBPF peuvent \u00eatre d\u00e9finis dans un sous-ensemble du langage C, compil\u00e9s et charg\u00e9s dans le noyau. Avant l'ex\u00e9cution, l'interpr\u00e9teur eBPF v\u00e9rifie le bytecode pour s'assurer que seules des instructions autoris\u00e9es sont utilis\u00e9es et impose certaines r\u00e8gles sur le code (comme l'absence de boucles).<br \/>\n\u00c0 l'origine, pour compiler eBPF dans Linux, on utilisait des outils bas\u00e9s sur LLVM. Le support eBPF dans GCC est int\u00e9ressant car il permet d'utiliser un seul outil pour compiler le noyau Linux et les programmes eBPF, sans installer de d\u00e9pendances suppl\u00e9mentaires.  <\/p>\n<p>Sous forme de programmes eBPF, on peut cr\u00e9er des gestionnaires d'op\u00e9rations r\u00e9seau, filtrer le trafic, g\u00e9rer la bande passante, surveiller le fonctionnement des syst\u00e8mes, intercepter des appels syst\u00e8me, contr\u00f4ler l'acc\u00e8s, compter la fr\u00e9quence et le temps d'ex\u00e9cution des op\u00e9rations, effectuer un tra\u00e7age utilisant kprobes\/uprobes\/tracepoints.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51457\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC \u043f\u0440\u0438\u043d\u044f\u0442 \u043a\u043e\u0434 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u044f\u0434\u0440\u043e Linux \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430 eBPF. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0432 \u044f\u0434\u0440\u0435 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u043d\u0430 \u043b\u0435\u0442\u0443 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u041f\u0430\u0442\u0447\u0438 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 eBPF \u043f\u0440\u0438\u043d\u044f\u0442\u044b \u0432 \u0432\u0435\u0442\u043a\u0443, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a GCC 10. \u041f\u043e\u043c\u0438\u043c\u043e \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-37963","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC \u043f\u0440\u0438\u043d\u044f\u0442 \u043a\u043e\u0434 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u044f\u0434\u0440\u043e Linux \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/v-sostav-gcc-prinyat-bekend-dlya-kompilyatsii-v-ebpf\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 GCC \u043f\u0440\u0438\u043d\u044f\u0442 \u0431\u044d\u043a\u0435\u043d\u0434 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 eBPF | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC \u043f\u0440\u0438\u043d\u044f\u0442 \u043a\u043e\u0434 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u044f\u0434\u0440\u043e Linux \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/v-sostav-gcc-prinyat-bekend-dlya-kompilyatsii-v-ebpf\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:52+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Le backend pour la compilation en eBPF a \u00e9t\u00e9 int\u00e9gr\u00e9 dans GCC | ProHoster","description":"Le contenu du ensemble de compilateurs GCC accepte le code pour compiler des programmes pour l'interpr\u00e9teur int\u00e9gr\u00e9 dans le noyau Linux.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/v-sostav-gcc-prinyat-bekend-dlya-kompilyatsii-v-ebpf","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 GCC \u043f\u0440\u0438\u043d\u044f\u0442 \u0431\u044d\u043a\u0435\u043d\u0434 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 eBPF | ProHoster","og:description":"\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC \u043f\u0440\u0438\u043d\u044f\u0442 \u043a\u043e\u0434 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u044f\u0434\u0440\u043e Linux \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/v-sostav-gcc-prinyat-bekend-dlya-kompilyatsii-v-ebpf","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:52+00:00","article:modified_time":"2019-10-31T19:20:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37963","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:56:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:17:23","updated":"2026-01-23 19:56:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=37963"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37963\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=37963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=37963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=37963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}