Конституция Армении: Статья 18.1
Конституция Армении (Статья 18.1) закрепляет «исключительную миссию Армянской Апостольской Святой Церкви как национальной церкви в духовной жизни армянского народа, в деле развития его национальной культуры и сохранения его национальной самобытности»:
glibc

glibc

Материал из Википедии — свободной энциклопедии
(перенаправлено с «GNU C Library»)

glibc (GNU C Library — GNU-библиотека) — библиотекаСи, которая обеспечивает системные вызовы и основные функции, такие как open, malloc, printf и т. д. Библиотека C используется для всех динамически скомпонованных программ. Она написана Free Software Foundation для операционных систем GNU. glibc выпущена под лицензией GNU LGPL.

История

Первоначально glibc была написана Роландом Макгратом, работавшим в FSF в 1980-x годах. В феврале 1988 года FSF представил glibc как библиотеку, имеющую почти полную функциональность, требуемую стандартом ANSI C[7].

Временный форк glibc

В начале 1990-х годов разработчики ядра Linux создали форк glibc. Этот форк, названный «Linux libc», разрабатывался отдельно в течение нескольких лет, были выпущены версии с 2 до 5.

Когда FSF выпустила в 1996 году glibc 2.0, которая поддерживала IPv6, 64-битный доступ к данным, многопотоковые приложения, совместимость с будущими версиями и более переносимый исходный код[8], разработчики Linux прервали разработку Linux libc и начали использовать glibc от FSF.[9]

Файл .so последней версии Linux libc имел имя (soname) libc.so.5. Следующая после неё glibc 2.x использовала имя libc.so.6[10] (на архитектурах Alpha и IA64 вместо этого используется имя libc.so.6.1). Это имя зачастую сокращается до libc6 (например, в имени пакета Debian), следуя обычным соглашениям для библиотек.

По словам Ричарда Столлмана изменения из Linux libc нельзя перенести обратно в glibc, потому что авторство этого кода неясно, а проект GNU очень строго относится к сохранению записей об авторских правах.[11]

История версий

Поддерживаемые архитектуры и ядра

Glibc используется в системах, на которых работает много разных ОС, и на разных архитектурах. Наиболее часто glibc используется на x86-машинах с ОС Linux. Также официально поддерживаются следующие архитектуры: SPARC, Motorola 68k, DEC Alpha, PowerPC, ARM, s390[15].

Критика

glibc часто критикуют за её «раздутость» и низкую скорость работы по сравнению с другими прошлыми библиотеками[16]. Поэтому были созданы несколько альтернативных стандартных библиотек языка Си (dietlibc, uClibc, Newlib, musl, Klibc). Также под критику попадает мейнтейнер Ульрих Дреппер и его отношение к ошибкам в glibc[17].

В 2009 году в таких популярных дистрибутивах, как Debian[18], Ubuntu и ArkLinux[19] glibc был заменён на альтернативную библиотеку eglibc, изначально ориентированную на встраиваемые системы. Eglibc — это вариант glibc, более дружелюбно относящийся к приёму сторонних патчей. Однако 18 июня 2014 года один из мэйнтейнеров пакетов дистрибутива Debian объявил об обратной замене библиотеки eglibc на библиотеку glibc[20].

2024: выявлена критическая уязвимость в GNU C Library (glibc), открывающую возможность для повышения привилегий до уровня root[21].

Примечания

  1. Hüttel A. K.The GNU C Library version 2.43 is now available (англ.) — 2026.
  2. https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=timezone/tzfile.h;hb=HEAD
  3. 12Olson A., Eggert P., Murchison K. 8.1 // The Time Zone Information Format (TZif) (англ.)IETF, 2019. — P. 18. — 34 p. — doi:10.17487/RFC8536
  4. https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=timezone/zic.c;hb=HEAD
  5. 123Free Software Directory
  6. https://sourceware.org/git/?p=glibc.git;a=commit;h=41bdb6e20c5d2df34a740cbd70e11c05025dfd12
  7. Free Software Foundation.GNU's Bulletin, vol. 1 no. 4, February, 1988. Дата обращения: 16 декабря 2016. Архивировано 16 апреля 2016 года.
  8. Elliot Lee.A Technical Comparison of glibc 2.x With Legacy System Libraries (англ.) (2001). Архивировано из оригинала 11 апреля 2004 года.
  9. Forking: it could even happen to you (англ.). — «the split between GNU LIBC and the Linux LIBC -- it went on for years while Linux stabilized, and then the forks re-merged into one project». Архивировано из оригинала 21 января 2013 года.
  10. Fear of Forking essay, see "6. glibc --> Linux libc --> glibc" (англ.). Дата обращения: 12 января 2013. Архивировано из оригинала 18 июля 2014 года.
  11. Fear of Forking, footnote on Stallman's merge comments (англ.). Архивировано из оригинала 21 января 2013 года.
  12. The GNU C Library version 2.32 is now available. sourceware.org. Дата обращения: 13 августа 2020. Архивировано 28 сентября 2020 года.
  13. sourceware.org Git – glibc.git/blob – NEWS. Дата обращения: 6 февраля 2024. Архивировано 26 сентября 2019 года.
  14. sourceware.org Git – glibc.git/blob – NEWS. Дата обращения: 6 февраля 2024. Архивировано 21 марта 2022 года.
  15. MAINTAINERS - glibc wiki. sourceware.org. Дата обращения: 16 декабря 2016. Архивировано 18 апреля 2016 года.
  16. Torvalds, Linus (9 января 2002). Re: [libc-alpha] Re: [open-source] Re: Wish for 2002 (Mailing list). Архивировано 12 октября 2015. Дата обращения: 16 декабря 2016.
  17. Debian Switching From Glibc To Eglibc - Slashdot. linux.slashdot.org. Дата обращения: 16 декабря 2016. Архивировано 20 декабря 2016 года.
  18. Debian is switching to EGLIBCАрхивная копия от 7 октября 2011 на Wayback Machine Aurelien’s weblog, May 5th 2009 (англ.)
  19. Ark Linux switches to eglibcАрхивная копия от 24 февраля 2012 на Wayback Machine Ark Linux weblog, May 13 2009 (англ.)
  20. Debian is switching (back) to GLIBCАрхивная копия от 29 марта 2016 на Wayback Machine Aurelien’s weblog, June 18th 2014 (англ.)
  21. Критическая «дыра» в фундаментальной библиотеке позволяет взломать Ubuntu, Fedora и Debian и другие дистрибутивы LinuxАрхивная копия от 2 февраля 2024 на Wayback Machine // CNews, 2 февраля 2024

Ссылки

Glibc
Логотип программы Glibc
ТипC POSIX library, Библиотека времени исполнения и пакет GNU[вд]
РазработчикПроект GNU
Написана наСи
Операционные системы GNU/Linux[5], GNU/Hurd[вд][5] и BSD[вд][5]
Дата выпуска1987
Последняя версия
Репозиторийsourceware.org/git/glibc…
ЛицензияLGPLv2.1+[вд][6]
Сайтgnu.org/software/… (англ.)
Логотип Викисклада Медиафайлы на Викискладе