Glibc 2.36 přichází s novými funkcemi pro Linux, vylepšeními a dalšími

Po šesti měsících vývoje bylo oznámeno vydání nové verze glibc 2.36, která plně vyhovuje požadavkům norem ISO C11 a POSIX.1-2017 a ve které nová verze obsahuje opravy od 59 vývojářů.

Pro ty, kteří nejsou obeznámeni s Glibcem, by měli vědět, co to je knihovna GNU C, běžně známá jako glibc je standardní runtime knihovna GNU C. Na systémech, kde se používá, tato C knihovna, která poskytuje a definuje systémová volání a další základní funkce, používají ho téměř všechny programy. 

Hlavní nové funkce Glibc 2.36

V této nové verzi, která je prezentována, je to zdůrazněno přidána podpora pro nový formát adresy relativního přemístění DT_RELR, který umožňuje snížit velikost relativních přemístění ve sdílených objektech a propojených spustitelných souborech v režimu PIE (Position Independent Executables). Použití pole DT_RELR v souborech ELF vyžaduje podporu pro volbu "-z pack-relative-relocs" v linkeru, zavedenou v binutils 2.38.

Další změna, která v nové verzi vyniká, je ta pro Linux funkce pidfd_open, pidfd_getfd a pidfd_send_signal byly implementovány, aby poskytovaly přístup k funkcionalitě pidfd což pomáhá zvládnout situace opětovného použití PID pro přesnější identifikaci procesů přistupujících ke sledovaným souborům (pidfd je spojen s konkrétním procesem a nemění se, zatímco PID lze po skončení procesu připojit k jinému procesu). aktuální proces s tím spojený PID).

Kromě toho, také v Linuxu přichází process_madvise()Že umožňuje procesu provést systémové volání madvise() jménem jiného procesu, identifikace cílového procesu pomocí pidfd. Prostřednictvím madvise() můžete jádro informovat o vlastnostech práce s pamětí pro optimalizaci správy paměti procesu, například na základě předané informace může jádro začít uvolňovat další volnou paměť.

Je také třeba poznamenat, že funkce byla přidána process_mrelease(), která umožňuje urychlit uvolnění paměti pro proces, který ukončí jeho provádění. Za normálních okolností nejsou uvolnění prostředků a ukončení procesu okamžité a mohou být z různých důvodů zpožděny, což narušuje systémy včasného varování v uživatelském prostoru, jako je oomd (poskytovaný systemd). Voláním process_mrelease mohou tyto systémy předvídatelněji zahájit načítání paměti pro procesy, které byly násilně ukončeny.

Na druhou stranu je třeba poznamenat, že byla přidána podpora volby "ne-aaaa". k integrované implementaci Překlad DNS, který umožňuje zakázat odesílání požadavků DNS na záznamy AAAA (určení adresy IPv6 podle názvu hostitele), a to i při spuštění funkcí NSS, jako je getaddrinfo(), pro zjednodušení řešení problémů. Tato volba neovlivňuje zpracování vazeb IPv6 adres definovaných v /etc/hosts a volání getaddrinfo() s příznakem AI_PASSIVE.

Pro Linux přidány funkce fsopen, fsmount, move_mount, fsconfig, fspick, open_tree a mount_setattr bod poskytují přístup k novému rozhraní API jádra pro řízení způsobu připojení souborových systémů na základě jmenných prostorů připojení. Navrhované funkce umožňují samostatné zpracování různých kroků připojení (zpracování superbloku, získání informací o souborovém systému, připojení, připojení k bodu připojení), které byly dříve prováděny pomocí společné funkce mount().

Byly přidány funkce arc4random, arc4random_buf a arc4random_uniform poskytnout vazby na systémové volání získat náhoda a rozhraní / Dev / urandom, vracející vysoce kvalitní pseudonáhodná čísla.

Při běhu na Linuxu je poskytována podpora architektury. ze sady instrukcí LoongArch používá se v procesorech Loongson 3 5000 a je implementován nový RISC ISA podobný MIPS a RISC-V. V současné podobě je k dispozici pouze kompatibilita s 64bitovou variantou z LoongArch (LA64). Ke spuštění vyžaduje alespoň binutils 2.38, GCC 12 a Linux kernel 5.19.

Z dalších změn, které vynikají:

  • Mechanismus předběžného propojení, stejně jako související proměnné prostředí LD_TRACE_PRELINKING a LD_USE_LOAD_BIAS a funkce linkeru, jsou zastaralé a v budoucí verzi budou odstraněny.
  • Byl odstraněn kód pro kontrolu verze jádra Linuxu a zpracování proměnné prostředí LD_ASSUME_KERNEL. Minimální verze jádra podporovaná při kompilaci Glibc je určena polem ELF NT_GNU_ABI_TAG.
  • Proměnná prostředí LD_LIBRARY_VERSION byla na platformě Linux zastaralá.

Konečně, pokud máte zájem dozvědět se o tom více, můžete konzultovat podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.