{"id":103186,"date":"2022-02-03T21:37:11","date_gmt":"2022-02-03T19:37:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-sistemnoj-biblioteki-glibc-2-35"},"modified":"2022-02-03T21:37:11","modified_gmt":"2022-02-03T19:37:11","slug":"vypusk-sistemnoj-biblioteki-glibc-2-35","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sistemnoj-biblioteki-glibc-2-35","title":{"rendered":"Release of the Glibc 2.35 system library","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>After six months of development, the release of the GNU C Library (glibc) 2.35 is published, which fully complies with the requirements of the ISO C11 and POSIX.1-2017 standards. The new release includes fixes from 66 developers.     <\/p>\n<p>Notable improvements implemented in Glibc 2.35 include:   <\/p>\n<ul>\n<li class=\"l\"> Support for the locale &#171;C.UTF-8&#187; has been added, which includes sorting rules for all Unicode codes but is limited in size by using ASCII ranges in the fnmatch, regexec, and regcomp functions. The locale takes up about 400 KB, of which 346 KB is made up of LC_CTYPE data for Unicode, and requires separate installation (not built into Glibc).\n<li class=\"l\"> Encoding data, character type information, and transliteration tables have been updated to support the Unicode 14.0.0 specification.\n<li class=\"l\"> Functions and macros rounding results to narrower types have been implemented in <math> and : fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafN, fMfmafNx, fMxfmafN, and fMxfmafNx. The functions are described in the specifications TS 18661-1:2014, TS 18661-3:2015 and added to the draft of the future C standard ISO C2X.\n<li class=\"l\">  Functions and macros for finding the minimum and maximum of floating-point numbers with types float, long double, _FloatN, and _FloatNx have been implemented in <math> and , described in the IEEE 754-2019 specification and added to the draft of the future C standard ISO C2X: fmaximum, fmaximum_num, fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, and fminimum_mag_num.\n<li class=\"l\"> Constants for single precision floating-point numbers have been added to <math>: M_Ef, M_LOG2Ef, M_LOG10Ef, M_LN2f, M_LN10f, M_PIf, M_PI_2f, M_PI_4f, M_1_PIf, M_2_PIf, M_2_SQRTPIf, M_SQRT2f, and M_SQRT1_2f.\n<li class=\"l\"> For the exp10 functions, corresponding type-agnostic macros have been added to the  header file.\n<li class=\"l\"> The macro _PRINTF_NAN_LEN_MAX, proposed in the draft of the ISO C2X standard, has been added to .\n<li class=\"l\"> Format specifiers &#171;%b&#187; and &#171;%B&#187; have been added to the printf family of functions for outputting integers in binary representation.\n<li class=\"l\"> A new DSO sorting algorithm has been implemented in the dynamic linking system, which uses a depth-first search (DFS) method to address performance issues when handling circular dependencies. The parameter glibc.rtld.dynamic_sort has been proposed to select the DSO sorting algorithm, and it can be set to &#171;1&#187; to revert to the old algorithm.\n<li class=\"l\"> Support for the new function &#8216;__memcmpeq&#8217; has been added to the ABI, which is used by compilers to optimize the use of &#8216;memcmp&#8217;, when the return value of this function is used only to check the completion status of the operation.\n<li class=\"l\"> Support for automatic thread registration has been added using the rseq (restartable sequences) system call, introduced in Linux kernel 4.18. The rseq system call allows for the uninterrupted execution of a group of instructions, which is confirmed by the last instruction in the group. Essentially, it provides a means for very fast atomic execution of operations, which, in case of interruption by another thread, are cleared and retried.\n<li class=\"l\"> A symbolic link has been added to \/usr\/bin\/ld.so.\n<li class=\"l\">  All executable files of built-in programs and test suites are now compiled by default in the PIE (position independent executable) mode. The option &#171;&#8212;disable-default-pie&#187; is provided to disable this behavior.\n<li class=\"l\">For Linux, the setting glibc.malloc.hugetlb has been added, allowing the malloc implementation to use the madvise system call with the MADV_HUGEPAGE flag for mmap and sbrk or to directly use large memory pages by specifying the MAP_HUGETLB flag in mmap calls. In the first case, performance can be improved if Transparent Huge Pages are used in madvise mode, while in the second case, it allows for the use of large pages (Huge Pages) reserved by the system.\n<li class=\"l\"> The function _dl_find_object has been added, which can be used for adding information for stack unwinding.\n<li class=\"l\"> Support for the OpenRISC (or1k-linux-gnu) architecture has been added in soft-float mode for floating-point operations. The port requires binutils 2.35, GCC 11, and Linux kernel 5.4.\n<li class=\"l\"> A build flag &#171;&#8212;with-rtld-early-cflags&#187; has been added, which allows additional compilation flags to be specified when building the initial code for dynamic linking.\n<li class=\"l\"> For the Linux platform, the function epoll_pwait2 has been added, differing from epoll_wait by specifying the timeout with nanosecond precision.\n<li class=\"l\"> The function posix_spawn_file_actions_addtcsetpgrp_np has been added, eliminating race conditions when setting the controlling terminal for a new process.\n<li class=\"l\"> For applications compiled with Glibc and GCC 12+, a &#171;_FORTIFY_SOURCE=3&#187; protection mode has been implemented, which detects possible buffer overflows when executing string functions defined in the string.h header file. The difference from the &#171;_FORTIFY_SOURCE=2&#187; mode is that additional checks are made, which may potentially lead to a decrease in performance.\n<li class=\"l\">  Support for Intel MPX (Memory Protection Extensions), used for pointer boundary checking in memory areas, has been discontinued (this technology was not widely adopted and has already been removed from GCC and LLVM).\n<li class=\"l\"> The prelink mechanism and its associated environment variables LD_TRACE_PRELINKING and LD_USE_LOAD_BIAS have been declared obsolete and will be removed in the next release.\n<p>Fixed vulnerabilities:    <\/p>\n<ul>\n<li class=\"l\"> CVE-2022-23218, CVE-2022-23219 &#8212; buffer overflow in the svcunix_create and clnt_create functions caused by copying stack data from a parameter named filename without checking the size of the copied data. For applications compiled without stack protection and using the &#171;unix&#187; protocol, the vulnerability may allow an attacker to execute code when handling very long file names.\n<li class=\"l\"> CVE-2021-3998 \u2014 vulnerability in the realpath() function caused by returning an incorrect value containing uninitialized residual data from the stack under certain conditions. For the SUID-root program fusermount, this vulnerability can be exploited to obtain sensitive information from the process memory, such as pointer information.\n<li class=\"l\"> CVE-2021-3999 \u2014 single-byte buffer overflow in the getcwd() function. This issue arises from a bug that has been present since 1995. To trigger the overflow, it is sufficient to call chdir() for the directory \" \/ \" in a separate namespace of mount points.     <\/ul>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56631\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GNU C Library (glibc) 2.35, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 ISO C11 \u0438 POSIX.1-2017. \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u043e\u0432\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442 66 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0418\u0437 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 Glibc 2.35 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c: \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043b\u043e\u043a\u0430\u043b\u0438 &#171;C.UTF-8&#187;, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0439 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 Unicode-\u043a\u043e\u0434\u043e\u0432, \u043d\u043e \u0434\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u043c\u0435\u0441\u0442\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c [&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-103186","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=\"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GNU C Library (glibc) 2.35, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 ISO C11 \u0438 POSIX.1-2017.\" \/>\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\/en\/blog\/news\/vypusk-sistemnoj-biblioteki-glibc-2-35\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Glibc 2.35 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GNU C Library (glibc) 2.35, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 ISO C11 \u0438 POSIX.1-2017.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sistemnoj-biblioteki-glibc-2-35\" \/>\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=\"2022-02-03T19:37:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-02-03T19:37:11+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\udd47Release of the Glibc 2.35 library | ProHoster","description":"After six months of development, the release of the GNU C Library (glibc) 2.35 has been published, which fully complies with the ISO C11 and POSIX.1-2017 standards.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sistemnoj-biblioteki-glibc-2-35","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Glibc 2.35 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GNU C Library (glibc) 2.35, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 ISO C11 \u0438 POSIX.1-2017.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sistemnoj-biblioteki-glibc-2-35","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":"2022-02-03T19:37:11+00:00","article:modified_time":"2022-02-03T19:37:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"103186","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":"default","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-02-03 19:38:06","updated":"2022-09-28 03:27:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/103186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=103186"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/103186\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=103186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=103186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=103186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}