{"id":100888,"date":"2021-08-02T10:22:56","date_gmt":"2021-08-02T08:22:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-sistemnoj-biblioteki-glibc-2-34"},"modified":"2021-08-02T10:22:56","modified_gmt":"2021-08-02T08:22:56","slug":"vypusk-sistemnoj-biblioteki-glibc-2-34","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sistemnoj-biblioteki-glibc-2-34","title":{"rendered":"Release of the Glibc 2.34 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.34 has been 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.34 include:   <\/p>\n<ul>\n<li class=\"l\"> The main libc now integrates the libraries libpthread, libdl, libutil, and libanl, allowing their functionality in applications without the need to link using the flags -lpthread, -ldl, -lutil, and -lanl. Preparations have been made for integrating libresolv into libc. This integration will enable a more cohesive update process for glibc and simplify runtime implementation. To ensure backward compatibility with applications built with older versions of glibc, stub libraries have been provided. Due to the expansion of structures and functions offered in glibc, there might be issues in applications where there are name collisions with previously unused libraries libpthread, libdl, libutil, libresolv, and libanl.\n<li class=\"l\"> Support for 64-bit time_t has been introduced in configurations where traditionally a 32-bit time_t was used. In such configurations, for example on x86 systems, a 32-bit time_t remains the default for now, but this behavior can be changed using the macro &#171;_TIME_BITS&#187;. This feature is only available on systems with a Linux kernel version of at least 5.1.\n<li class=\"l\"> The _Fork function has been added, replacing the fork function, which meets the 'async-signal-safe' requirements, allowing safe calls from signal handlers. During the execution of _Fork, a minimal environment is created, sufficient for calling functions in signal handlers, such as raise and execve, without utilizing features that could lead to changes in locks or internal state. The _Fork call will be defined in a future version of the POSIX standard but is currently included among GNU extensions.\n<li class=\"l\"> The execveat function has been implemented for the Linux platform, which allows executing a file from an open file descriptor. This new function is also used in the implementation of the fexecve call, which does not require a mounted pseudo-filesystem \/proc during execution.\n<li class=\"l\"> The timespec_getres function has been added, as defined in the draft ISO C2X standard, complementing the timespec_get function with capabilities similar to the POSIX clock_getres function.\n<li class=\"l\"> The close_range() function has been added, allowing a process to close a whole range of open file descriptors at once. This function is available on systems with Linux kernel version 5.9 or higher.\n<li class=\"l\"> The closefrom and posix_spawn_file_actions_addclosefrom_np functions have been added, allowing for the closure of all file descriptors whose numbers are greater than or equal to a specified value.\n<li class=\"l\"> In the modes &#171;_DYNAMIC_STACK_SIZE_SOURCE&#187; and &#171;_GNU_SOURCE&#187;, the values PTHREAD_STACK_MIN, MINSIGSTKSZ, and SIGSTKSZ are no longer constants, enabling support for dynamically sized register sets, such as those provided in the ARM SVE extension.\n<li class=\"l\"> The linker has implemented the &#171;&#8212;list-diagnostics&#187; option to output information related to IFUNC (indirect function) resolution operations and the selection of the glibc-hwcaps subdirectory.\n<li class=\"l\"> The __STDC_WANT_IEC_60559_EXT__ macro has been introduced to verify the presence of functions defined in the 'F' section of the ISO C2X specification.\n<li class=\"l\"> For powerpc64* systems, the &#171;&#8212;disable-scv&#187; option has been implemented to build glibc without support for the scv instruction.\n<li class=\"l\"> Only the minimum set of core gconv modules has been retained in the gconv-modules file, with others moved to an additional file gconv-modules-extra.conf located in the gconv-modules.d directory.\n<li class=\"l\"> For the Linux platform, the glibc.pthread.stack_cache_size parameter has been implemented, which can be used to configure the size of the pthread stack cache.\n<li class=\"l\"> The inet_neta function from the header file  has been marked as deprecated, along with various rarely used functions from  (dn_count_labels, fp_nquery, fp_query, fp_resstat, hostalias, loc_aton, loc_ntoa, p_cdname, p_cdnname, p_class, p_fqname, p_fqnname, p_option, p_query, p_rcode, p_time, p_type, putlong, putshort, res_hostalias, res_isourserver, res_nameinquery, res_queriesmatch, res_randomid, sym_ntop, sym_ntos, sym_ston) and  (ns_datetosecs, ns_format_ttl, ns_makecanon, ns_parse_ttl, ns_samedomain, ns_samename, ns_sprintrr, ns_sprintrrf, ns_subdomain). It is recommended to use separate libraries for DNS operations instead of these functions.\n<li class=\"l\"> The pthread_mutex_consistent_np, thread_mutexattr_getrobust_np, pthread_mutexattr_setrobust_np, and pthread_yield functions have been deprecated, to be replaced with pthread_mutex_consistent, thread_mutexattr_getrobust, thread_mutexattr_setrobust, and sched_yield.\n<li class=\"l\"> The use of symbolic links to bind installed shared objects to the Glibc version has been discontinued. Such objects are now installed as-is (for example, libc.so.6 is now a file, not a link to libc-2.34.so).\n<li class=\"l\"> Debugging features in malloc such as MALLOC_CHECK_ (glibc.malloc.check), mtrace(), and mcheck() are disabled by default, having been moved to a separate library libc_malloc_debug.so, which also contains the deprecated functions malloc_get_state and malloc_set_state.\n<li class=\"l\"> In Linux, functions like shm_open and sem_open now require the presence of the device \/dev\/shm.\n<li class=\"l\"> Fixed vulnerabilities:\n<ul>\n<li class=\"l\"> CVE-2021-27645: The nscd (nameserver caching daemon) crashes due to a double call to the free function when handling specially crafted netgroup requests.\n<li class=\"l\"> CVE-2021-33574: Access to already freed memory (use-after-free) in the mq_notify function when using the SIGEV_THREAD notification type with a thread attribute that has an alternate CPU binding mask set. This issue can lead to crashes, but other attack vectors are also possible.\n<li class=\"l\"> CVE-2021-35942: A parameter size overflow in the wordexp function may cause the application to crash.    <\/ul>\n<\/ul>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55575\">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.34, \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.34 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c: \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 libc \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libpthread, libdl, libutil \u0438 libanl, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 [&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-100888","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.34, \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-34\" \/>\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.34 | 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.34, \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-34\" \/>\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=\"2021-08-02T08:22:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-08-02T08:22:56+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.34 system library | ProHoster","description":"After six months of development, the release of the GNU C Library (glibc) 2.34 has been published, fully complying with the ISO C11 and POSIX.1-2017 standards.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sistemnoj-biblioteki-glibc-2-34","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.34 | 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.34, \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-34","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":"2021-08-02T08:22:56+00:00","article:modified_time":"2021-08-02T08:22:56+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"100888","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-08-02 08:26:46","updated":"2022-10-01 02:28:20","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\/100888","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=100888"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/100888\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=100888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=100888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=100888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}