{"id":41014,"date":"2020-02-05T10:07:45","date_gmt":"2020-02-05T07:07:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/vypusk-sistemnoj-biblioteki-glibc-2-31"},"modified":"2020-02-05T10:07:45","modified_gmt":"2020-02-05T07:07:45","slug":"vypusk-sistemnoj-biblioteki-glibc-2-31","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/vypusk-sistemnoj-biblioteki-glibc-2-31","title":{"rendered":"Izlazak sustavne biblioteke Glibc 2.31","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nakon \u0161est mjeseci razvoja <noindex><a rel=\"nofollow\" href=\"https:\/\/sourceware.org\/ml\/libc-alpha\/2020-02\/msg00010.html\">objavljeno<\/a><\/noindex> izdanje sistemske biblioteke <noindex><a rel=\"nofollow\" href=\"http:\/\/ftp.gnu.org\/gnu\/glibc\/\">GNU C Library<\/a><\/noindex> (glibc) <noindex><a rel=\"nofollow\" href=\"http:\/\/sourceware.org\/glibc\/wiki\/Release\/2.31\">2.31<\/a><\/noindex>, koja u potpunosti udovoljava zahtjevima standarda ISO C11 i POSIX.1-2008. U novi ispravak uklju\u010den je 58 ispravaka od developera. <\/p>\n<p>Od implementiranih u Glibc 2.31 <noindex><a rel=\"nofollow\" href=\"http:\/\/sourceware.org\/git\/?p=glibc.git;a=blob_plain;f=NEWS;hb=HEAD\">pobolj\u0161anja<\/a><\/noindex> mo\u017ee se istaknuti:\n<\/p>\n<ul>\n<li class=\"l\"> Dodana je makro definicija _ISOC2X_SOURCE za uklju\u010divanje mogu\u0107nosti odre\u0111enih u nacrtu budu\u0107eg standarda ISO <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/C2x\">C2X<\/a><\/noindex>. Ove mogu\u0107nosti tako\u0111er se uklju\u010duju kada se koristi makronaredba _GNU_SOURCE ili prilikom gra\u0111evine u gcc s zastavicom &#171;-std=gnu2x&#187;;\n<li class=\"l\"> Za odre\u0111ene funkcije definirane u zaglavlju &#171;math.h&#187;, koje zaokru\u017euju svoje rezultate na manji tip, u datoteci &#171;tgmath.h&#187; predlo\u017eeni su odgovaraju\u0107i makroi generi\u010dkog tipa, kako zahtijevaju specifikacije TS 18661-1:2014 i TS 18661-3:2015;\n<li class=\"l\"> Dodana funkcija pthread_clockjoin_np(), koja \u010deka zavr\u0161etak niti s obzirom na vremensko ograni\u010denje (ako vrijeme istekne prije zavr\u0161etka, funkcija \u0107e vratiti gre\u0161ku). Za razliku od <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.die.net\/man\/3\/pthread_timedjoin_np\">pthread_timedjoin_np()<\/a><\/noindex>, u pthread_clockjoin_np() dopu\u0161teno je definiranje tipa tajmera za izra\u010dunavanje vremenskog ograni\u010denja &#8212; CLOCK_MONOTONIC (uzima u obzir vrijeme provedeno u mirovanju od strane sustava) ili CLOCK_REALTIME;\n<li class=\"l\"> U DNS razrje\u0161iva\u010d dodana je podr\u0161ka za opciju trust-ad u \/etc\/resolv.conf i oznaku RES_TRUSTAD u _res.options, gdje se aktiviranjem ovih opcija unosi DNSSEC oznaka <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc3655\">AD<\/a><\/noindex> (overeni podaci). U ovom na\u010dinu rada, postavljena oznaka AD od strane poslu\u017eitelja postaje dostupna aplikacijama koje pozivaju funkcije kao \u0161to je res_search(). Prema zadanim postavkama, ako predlo\u017eene opcije nisu uklju\u010dene, glibc ne postavlja oznaku AD u zahtjevima i automatski je \u010disti u odgovorima, \u0161to ukazuje na nedostatak provjere DNSSEC;\n<li class=\"l\"> Za izgradnju funkcionalnih omota sustavnih poziva za Glibc vi\u0161e nije potrebna instalacija zaglavlja Linux jezgre. Izuzetak je 64-bitna arhitektura RISC-V;\n<li class=\"l\"> Uklonjena <noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.redhat.com\/show_bug.cgi?id=CVE-2019-19126\">ranljivost<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/security-tracker.debian.org\/tracker\/CVE-2019-19126\">CVE-2019-19126<\/a><\/noindex>, koja omogu\u0107ava zaobila\u017eenje za\u0161tite<br \/>\nASLR u programima s oznakom setuid i odre\u0111ivanje rasporeda adresa u u\u010ditavanim bibliotekama putem manipulacije s varijablom okru\u017eenja LD_PREFER_MAP_32BIT_EXEC.<\/p>\n<\/ul>\n<p> Promjene koje naru\u0161avaju kompatibilnost:<\/p>\n<ul>\n<li class=\"l\"> U totalorder(), totalordermag() i sli\u010dne funkcije za druge tipove s pomi\u010dnom to\u010dkom sada prihva\u0107aju kao argument pokaziva\u010de kako bi se izbjegla upozorenja o konverziji vrijednosti u stanjima <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/NaN\">NaN<\/a><\/noindex>, u skladu s preporukama TS 18661-1, predlo\u017eenim za budu\u0107i standard C2X.<br \/>\nPostoje\u0107i izvr\u0161ni datoteke u kojima se argumenti s pomi\u010dnom zarezom izravno proslje\u0111uju nastavit \u0107e raditi bez promjena;<\/p>\n<li class=\"l\"> Davno najavljena zastarjela funkcija stime sada nije dostupna za povezana glibc binarna datoteka, a njezina definicija je uklonjena iz time.h. Za postavljanje sistemskog vremena treba koristiti funkciju clock_settime. U budu\u0107nosti se planira ukloniti i ozna\u010denu zastarjelom funkciju ftime, kao i zaglavlje sys\/timeb.h (umjesto ftime treba koristiti gettimeofday ili clock_gettime);\n<li class=\"l\"> Funkcija gettimeofday vi\u0161e ne prenosi informacije o op\u0107em vremenskom pojasu (ova mogu\u0107nost bila je relevantna u vrijeme 4.2-BSD i puno godina je progla\u0161ena zastarjelom). U argumentu &#8216;tzp&#8217; sada se treba prenijeti nulti pokaziva\u010d, a za dobivanje informacija o vremenskom pojasu u odnosu na trenutno vrijeme koristiti funkciju localtime(). Kada se poziva gettimeofday s nenultim argumentom &#8216;tzp&#8217;, bit \u0107e vra\u0107ena prazna polja tz_minuteswest i tz_dsttime u strukturi timezone. Sama funkcija gettimeofday smatra se zastarjelom u POSIX-u (umjesto gettimeofday preporu\u010duje se kori\u0161tenje clock_gettime), ali njezino uklanjanje iz glibc nije planirano;\n<li class=\"l\"> U settimeofday je prestala podr\u0161ka za istovremeno proslje\u0111ivanje parametara za postavljanje vremena i korekcije vremenskog pomaka. Prilikom pozivanja settimeofday jedan od argumenata (vrijeme ili pomak) sada mora biti postavljen na nulti, ina\u010de \u0107e poziv funkcije zavr\u0161iti gre\u0161kom EINVAL. Kao i gettimeofday, funkcija settimeofday smatra se zastarjelom u POSIX-u i umjesto nje preporu\u010duje se koristiti funkciju clock_settime ili skup funkcija adjtime;\n<li class=\"l\"> Prekinuta je podr\u0161ka za arhitekturu SPARC ISA v7 (podr\u0161ka za v8 je jo\u0161 uvijek sa\u010duvana, ali samo za procesore koji podr\u017eavaju CAS instrukcije, kao \u0161to su LEON procesori, dok ne podr\u017eavaju procesori SuperSPARC).\n<li class=\"l\"> U slu\u010daju kvara povezivanja u re\u017eimu &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.oracle.com\/cd\/E23824_01\/html\/819-0690\/chapter3-7.html\">lazy<\/a><\/noindex>&#171;, u kojem linker ne pretra\u017euje simbole funkcije do prvog poziva te funkcije, funkcija dlopen sada prisilno zavr\u0161ava izvr\u0161avanje procesa (ranije se u slu\u010daju kvara vra\u0107ao NULL);\n<li class=\"l\"> Za ABI MIPS hard-float sada se koristi izvr\u0161ni stog, ako prilikom sastavljanja izri\u010dito nije postavljeno ograni\u010denje na kori\u0161tenje jezgre Linux 4.8+ putem parametra &#171;&#8212;enable-kernel=4.8.0&#187; (s jezgrama do 4.8 javljaju se problemi za neke MIPS konfiguracije);\n<li class=\"l\"> Obuhvati nad sustavnim pozivima vezanim uz manipulaciju vremenom prevedeni su na primjenu sustavnog poziva time64, ako je dostupan (na 32-bitnim sustavima glibc prvotno poku\u0161ava koristiti nove sustavne pozive, koji manipuliraju 64-bitnim tipom za vrijeme, a ako ih nema, vra\u0107a se na stare 32-bitne pozive).\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Izvor: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52293\">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.31, \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-2008. \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 58 \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.31 \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 \u043c\u0430\u043a\u0440\u043e\u0441 _ISOC2X_SOURCE \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0432 \u0447\u0435\u0440\u043d\u043e\u0432\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 ISO C2X. \u0414\u0430\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 [&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":[],"tags":[],"class_list":["post-41014","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - 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\" \/>\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\/hr\/blog\/vypusk-sistemnoj-biblioteki-glibc-2-31\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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.31 | 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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/vypusk-sistemnoj-biblioteki-glibc-2-31\" \/>\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=\"2020-02-05T07:07:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-05T07:07:45+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\udd47Izdanje sustavne biblioteke Glibc 2.31 | ProHoster","description":"Nakon \u0161est mjeseci razvoja objavljeno je izdanje sistemske biblioteke","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/vypusk-sistemnoj-biblioteki-glibc-2-31","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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.31 | 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","og:url":"https:\/\/prohoster.info\/hr\/blog\/vypusk-sistemnoj-biblioteki-glibc-2-31","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":"2020-02-05T07:07:45+00:00","article:modified_time":"2020-02-05T07:07:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"41014","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-03-01 00:25:41","updated":"2022-09-30 11:31:57","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/41014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=41014"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/41014\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=41014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=41014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=41014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}