Glibc

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 17. března 2017; kontroly vyžadují 18 úprav .

Glibc
Typ Knihovna C POSIX
Vývojář Projekt GNU
Zapsáno v Xi
Operační systém GNU/Linux [3] , GNU/Hurd [3] a BSD [3]
První vydání 1987
Nejnovější verze
Čitelné formáty souborů Formát informací o časovém pásmu [d] [4][5][6]
Vygenerované formáty souborů Formát informací o časovém pásmu [d] [7][5][6]
Licence LGPLv2.1+ [d] [8]
webová stránka gnu.org/software/… ​(  anglicky)
 Mediální soubory na Wikimedia Commons

glibc  - GNU C Library (Knihovna GNU ). Glibc je knihovna C , která poskytuje systémová volání a základní funkce jako open , malloc , printf atd. Knihovna C se používá pro všechny dynamicky propojené programy. Je napsán Free Software Foundation pro operační systémy GNU. glibc je vydán pod licencí GNU LGPL .

Historie

glibc původně napsal Roland McGrath , který v 80. letech pracoval pro FSF . V únoru 1988 FSF představilo glibc jako knihovnu, která má téměř všechny funkce požadované standardem ANSI C [9] .

Dočasné rozvětvení glibc

Na začátku 90. let vytvořili vývojáři linuxového jádra fork glibc. Tato větev, nazvaná "Linux libc", byla vyvíjena samostatně během několika let, přičemž byly vydány verze 2 až 5.

Když FSF v roce 1996 vydala glibc 2.0, která podporovala IPv6 , 64bitový přístup k datům, vícevláknové aplikace, kompatibilitu s budoucími verzemi a přenosnější zdrojový kód [10] , vývojáři Linuxu přerušili vývoj Linux libc a začali používat glibc FSF. [jedenáct]

Soubor .so nejnovější linuxové knihovny libc byl pojmenován (soname) libc.so.5 . Následující glibc 2.x používal název libc.so.6 [12] (na architekturách Alpha a IA64 se místo toho používá název libc.so.6.1 ). Toto jméno se často zkracuje na libc6 (např. v názvu balíčku Debianu ), podle obvyklých konvencí knihoven.

Podle Richarda Stallmana nelze změny z linuxové knihovny libc přenést zpět do glibc, protože autorství tohoto kódu je nejasné a projekt GNU je velmi přísný, pokud jde o udržování záznamů o autorských právech. [13]

Historie verzí

Verze datum Poznámky Přijetí
2.33 února 2021 Ubuntu 20.04
2.32 srpna 2020
2.31 února 2020
2.30 srpna 2019
2.29 února 2019
2.28 srpna 2018
2.27 února 2018 Optimalizace výkonu. Podpora RISC-V . Ubuntu 18.04
2.26 srpna 2017 Vylepšený výkon (mezipaměť na vlákno pro malloc), podpora Unicode 10 Ubuntu 17.10
2.25 února 2017 Přidány funkce getentropy a getrandom a hlavičkový soubor <sys/random.h>. Fedora 26
2.24 srpna 2016 Odstraněny některé zastaralé funkce
2.23 února 2016 Unicode 8.0 Fedora 24, Ubuntu 16.04
2.22 srpna 2015 Přidána vektorová matematická knihovna libmvec.
2.21 února 2015 Podpora architektury Altera Nios II Ubuntu 15.04, experimentální Debian , Fedora 22
2.20 září 2014 Fedora 21
2.19 únor 2014 Ubuntu 14.04, eglibc 2.19 na Debian 8 (Jessie), openSUSE 13, SLES 12
2.18 srpen 2013 Vylepšená podpora pro normu ISO C11 . Podpora mikroarchitektury Xilinx MicroBlaze a IBM POWER8 Fedora 20
2.17 prosince 2012 Podpora 64bitové architektury ARM Ubuntu 13.04, RHEL 7
2.16 června 2012 Podpora x32 ABI , standard ISO C11 , SystemTap
2.15 březen 2012 Ubuntu 12.04 a 12.10
2.14 června 2011
2.13 ledna 2011 eglibc 2.13 na Debian 7 (Wheezy)
2.12 května 2010 RHEL 6
2.11 října 2009 SLES 11, Ubuntu 10.04, eglibc na Debianu 6 (Squeeze)
2.10 května 2009
2.9 listopadu 2008 Ubuntu 9.04
2.8 dubna 2008 Ubuntu 8.10
2.7 října 2007 Debian 5 (Lenny), Ubuntu 8.04
2.6 května 2007
2.5 září 2006 Plná podpora inotify RHEL 5
2.4 březen 2006 Standard v LSB 4.0, počáteční podpora pro inotify SLES 10
2.3.6 listopadu 2005 Debian 4.0 (Etch)
2.3.5 dubna 2005 SLES 9
2.3.4 prosince 2004 Standardní v LSB 3.0 RHEL 4 (aktualizace 5)
2.3.2 února 2003 Debian 3.1 (Sarge)
2.3 října 2002
2.2.4 července 2001
2.2 listopadu 2000
2.1.1 březen 1999
2.1 února 1999
2.0.95 července 1998
2,0 ledna 1997
1,90 - 1,102 květen 1996 - leden 1997
1.01 — 1.09.3 březen 1992 - prosinec 1994
1,0 února 1992
0,1 - 0,6 říjen 1991 - únor 1992

Podporované architektury a jádra

Glibc se používá na systémech s mnoha různými operačními systémy a na různých architekturách. glibc se nejčastěji používá na počítačích x86 Linux . Oficiálně jsou podporovány také následující architektury: SPARC , Motorola 68k , DEC Alpha , PowerPC , ARM , s390 [14] .

Kritika

glibc je často kritizován za to, že je „nafouklý“ a pomalý ve srovnání s jinými minulými knihovnami [15] . Proto bylo vytvořeno několik alternativních standardních C knihoven ( dietlibc , uClibc , Newlib , musl , Klibc ). Kritizován je také správce Ulrich Drepper a jeho postoj k chybám v Glibc [16] .

V roce 2009 populární distribuce jako Debian [17] , Ubuntu a ArkLinux [18] nahradily glibc alternativní knihovnou eglibc , původně zaměřenou na vestavěné systémy . Eglibc je varianta glibc, která je přátelštější k přijímání záplat třetích stran. Dne 18. června 2014 však jeden ze správců balíčků distribuce Debian oznámil, že nahradí knihovnu eglibc knihovnou glibc [19] .

Poznámky

  1. O'Donell C. Knihovna GNU C verze 2.36 je nyní k dispozici  - 2022 .
  2. https://sourceware.org/glibc/wiki/Release/2.36
  3. 1 2 3 Adresář svobodného softwaru
  4. https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=timezone/tzfile.h;hb=HEAD
  5. 1 2 Olson A. , Eggert P. , Murchison K. 8.1 // Informační formát časového pásma (TZif)  (anglicky) - IETF , 2019. - S. 18. - 34 s. doi : 10.17487/RFC8536
  6. 1 2 Olson A. , Eggert P. , Murchison K. 8.2 // Informační formát časového pásma (TZif)  (anglicky) - IETF , 2019. - S. 19. - 34 s. doi : 10.17487/RFC8536
  7. https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=timezone/zic.c;hb=HEAD
  8. https://sourceware.org/git/?p=glibc.git;a=commit;h=41bdb6e20c5d2df34a740cbd70e11c05025dfd12
  9. Free Software Foundation. Bulletin GNU, sv. 1 č. 4. února 1988 . Datum přístupu: 16. prosince 2016. Archivováno z originálu 16. dubna 2016.
  10. Elliot Lee. Technické srovnání glibc 2.x se staršími systémovými knihovnami  (anglicky)  (odkaz není k dispozici) (2001). Archivováno z originálu 11. dubna 2004.
  11. Forking: může se to stát i vám  (anglicky)  (downlink) . — "Rozdělení mezi GNU LIBC a Linux LIBC -- trvalo to roky, zatímco se Linux stabilizoval, a pak se vidlice znovu spojily do jednoho projektu." Archivováno z originálu 21. ledna 2013.
  12. Esej Fear of Forking, viz "6. glibc --> Linux libc --> glibc"  ( mrtvý  odkaz) . Získáno 12. ledna 2013. Archivováno z originálu 18. července 2014.
  13. Fear of Forking, poznámka pod čarou ke Stallmanovým komentářům ke sloučení  (angl.)  (odkaz není k dispozici) . Archivováno z originálu 21. ledna 2013.
  14. SPRÁVCI - glibc wiki . sourceware.org. Získáno 16. prosince 2016. Archivováno z originálu 18. dubna 2016.
  15. Torvalds, Linus Re: [libc-alpha] Re: [open-source] Re: Přání pro rok 2002 . mailing list libc-alpha@sources.redhat.com (9. ledna 2002). Staženo: 16. prosince 2016.
  16. Přechod Debianu z Glibc na Eglibc - Slashdot . linux.slashdot.org. Datum přístupu: 16. prosince 2016. Archivováno z originálu 20. prosince 2016.
  17. Debian přechází na EGLIBC Archivováno 7. října 2011 na webovém blogu Wayback Machine Aurelien, 5. května  2009
  18. Ark Linux přechází na eglibc Archivováno 24. února 2012 na webovém blogu Wayback Machine Ark Linux, 13.  května 2009
  19. Debian přechází (zpět) na GLIBC Archivováno 29. března 2016 na weblogu Wayback Machine Aurelien, 18. června  2014

Odkazy