The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз системной библиотеки Glibc 2.16 с поддержкой ISO C11 и X32

01.07.2012 11:03

Представлен релиз системной библиотеки GNU C Library (glibc) 2.16, которая полностью следует требованиям стандартов ISO C99, C11 и POSIX.1-2008. Новая версия примечательна реализацией поддержки стандарта C11, поддержкой X32 ABI, проведением чистки кода (оставлена только поддержки EABI для ARM, из бинарных форматов сохранена только поддержка ELF, убран код совместимости со старыми ядрами Linux), перемещением в порты архитектуры IA-64, ревизией математических функций, поддержкой архитектур TILE-Gx и TILEPro.

Glibc является основой большинства Linux-дистрибутивов, за исключением OpenWrt, Debian и Ubuntu, которые перешли на использование системной библиотеки Eglibc. Библиотека Eglibc построена на актуальной кодовой базе Glibc и полностью совместима с ней на уровне API и ABI, отличаясь интеграцией некоторых дополнительных наработок для встраиваемых систем, более низкими системными требованиями, возможностью гибкой настройки компонентов, улучшенной поддержкой кросс-компиляции и кросс-тестирования.

В новой версии Glibc произошли следующие изменения:

  • Для архитектуры x86-64 добавлена поддержка X32 ABI, позволяющего использовать на 64-разрядных системах 32-разрядную модель адресации памяти. ABI X32 позволяет приложениям использовать все преимущества архитектуры x86_64, такие как дополнительные регистры и более быстрые инструкции, PIC ABI. В то же время ABI X32 даёт возможность работать с 32-разрядными указателями памяти, что позволяет экономить память, способствует более эффективному наполнению процессорного кэша и положительно сказывается на общей скорости исполнения кода;
  • Реализована поддержка нового стандарта языка Си - C11 (ISO / IEC 9899:2011):
    • Добавлена поддержка статических утверждений static_assert;
    • В режиме совместимости с C11 удалена функция gets();
    • Добавлены функции at_quick_exit() и quick_exit();
    • Добавлена функция aligned_alloc();
    • Реализована возможность управления выравниванием выделяемой памяти через функцию aligned_alloc();
    • Добавлены функции преобразования Unicode-строк uchar.h;
    • Добавлены комплексные функции CMPLX, CMPLXF, CMPLXL;
  • Поддержка архитектуры IA-64 перемещена из основной ветки в порты;
  • Убрана поддержка всех бинарных форматов, кроме ELF;
  • Добавлена проверка версий для вызовов poll() и ppoll();
  • Увеличена скорость выполнения некоторых математических функций в режиме x86-64;
  • Добавлен флаг компиляции "--enable-obsolete-rpc", который включает поддержку устаревших RPC-функций, которые присутствовали в glibc 2.14 и ранее;
  • Убран код совместимости с ядрами Linux до версии 2.4. Разработчики предупреждают, что glibc 2.16 гарантирует совместимость только с ядрами 2.6.x и более поздними;
  • Добавлен новый заголовок sys/auxv.h и функция getauxval() для лёгкого доступа к информации пар параметр/значение AT_* ядра Linux;
  • Оптимизирована функция expf() для платформ x86 и x86-64. Работа выполнена Любовью Дмитриевой, российским разработчиком из Intel;
  • Улучшена поддержка кросс-компиляции;
  • Добавлена поддержка процессорных архитектур TILE-Gx и TILEPro;
  • Убрана поддержка старых версий ARM ABI, теперь поддерживается только EABI;
  • Обеспечена совместимость конфигурационных заголовочных файлов между архитектурами x86 и x86-64;
  • Добавлена сборочная опция "--enable-systemtap" для включения статических проверок setjmp в libc и longjmp в libpthread, необходимых для трассировки приложений при помощи SystemTap;
  • Добавлены новые оптимизированные варианты функций для архитектур SPARC и PowerPC;
  • Проведён аудит работы математических функций, устранены многие проблемы, приводившие к появлению неточных результатов;
  • В поставку больше не входят файлы с данными по часовым поясам, базу часовых поясов теперь нужно устанавливать отдельно;
  • Исправлено 253 ошибки.


  1. Главная ссылка к новости (http://sourceware.org/ml/libc-...)
  2. OpenNews: Смена власти в проекте Glibc, управляющий комитет сложил с себя полномочия
  3. OpenNews: Релиз системной библиотеки Glibc 2.15
  4. OpenNews: Релиз платформы Yocto 1.1. Разработка EGLIBC переходит под крыло Linux Foundation
  5. OpenNews: Релиз системной библиотеки Glibc 2.14
Автор новости: Artem S. Tashkinov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/34191-libc
Ключевые слова: libc, glibc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (29) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, ананим (?), 12:00, 01/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Знаковый релиз.
    Без комитета, с С11, х32,…
     
     
  • 2.3, гость (?), 13:49, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Без комитета

    обьясните что с ним случилось

     
     
  • 3.4, Иван Иванович Иванов (?), 13:55, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.h-online.com/open/news/item/The-GNU-C-Library-Steering-Committee-d

    Лень на opennet.ru искать - новость была, а вот тег, видимо, Макс забыл поставить ))

     
  • 3.9, ананим (?), 15:58, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    вторая ссылка под новостью.
     
  • 2.20, kreator (??), 23:36, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Без комитета, с C11

    Implemented by Ulrich Drepper ;)

     

  • 1.2, h31 (ok), 13:33, 01/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > OpenWrt

    Разве у них не uClibc?

     
     
  • 2.6, Аноним (-), 14:47, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Зависит от платформы для которой собирается.
     
     
  • 3.13, Аноним (-), 16:55, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    И от софта. Некоторый софт явно требует более крупную либу.
     

  • 1.5, kreator (??), 14:44, 01/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ни слова об слиянии с eglibc :( Может кто знает, до чего договорились разработчики glibc и eglibc на текущий момент? Будет слияние или нет?
     
     
  • 2.7, Иван Иванович Иванов (?), 15:31, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, а зачем.

    "Contributors to EGLIBC should consider contributing to GLIBC. If the GLIBC maintainers accept the contribution, it will find its way into EGLIBC because the EGLIBC maintainers regularly merge GLIBC changes into EGLIBC. Because all changes to EGLIBC meet the FSF's requirements for inclusion in GLIBC, the GLIBC maintainers are always free to incorporate EGLIBC changes."

     
     
  • 3.8, qux (ok), 15:44, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы не тратить время на

    > the EGLIBC maintainers regularly merge GLIBC changes into EGLIBC

    и

    > the GLIBC maintainers are always free to incorporate EGLIBC changes

     
     
  • 4.10, ананим (?), 16:05, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    так а кому не тратить то?
    разрабам EGLIBC?

    смотрю на сабж и понимаю, что изменений и так не мало, чтобы ещё и об EGLIBC заботиться.
    будет менее кардинальных изменений, может и заморочаються этим вопросом. чтобы разрабам EGLIBC легче жилось. :D

     
     
  • 5.11, qux (ok), 16:09, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > так а кому не тратить то?
    > разрабам EGLIBC?

    Да.

    > будет менее кардинальных изменений, может и заморочаються этим вопросом. чтобы разрабам
    > EGLIBC легче жилось. :D

    Ирония не в тему.

     
     
  • 6.12, ананим (?), 16:35, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    почему?

    у разрабов glibc есть как бы свои планы и желания. и эти планы и желания появились в очередной версии (см. сабж)

    у разрабов eglibc есть свои планы и желания.
    если они хотят сотрудничать, то пусть их продвигают либо у себя, либо подключаются к glibc.
    тем более, что комитет самораспустился, а разрабы glibc сказали им велкам_к_нам.
    нет слияния с eglibc в сабже? ну значит никто на велкам не отозвался. в любом случае это вопрос к разрабам eglibc, а не к glibc.

     
     
  • 7.14, Аноним (-), 16:58, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > тем более, что комитет самораспустился, а разрабы glibc сказали им велкам_к_нам.

    Распустился коммитет glibc, что для eglibc как-то перпендикулярно :)

     
     
  • 8.16, ананим (?), 17:07, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ну а на нет и суда нет D ... текст свёрнут, показать
     
  • 7.17, qux (ok), 17:22, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > у разрабов glibc есть как бы свои планы и желания
    > у разрабов eglibc есть свои планы и желания.
    > если они хотят сотрудничать, то пусть их продвигают либо у себя, либо
    > подключаются к glibc.

    Всё это не противоречит тому, что от объединения выиграли бы все.

     
     
  • 8.19, ананим (?), 20:49, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как и от мира во всём мире Зыж А да Не все D Но это как Марии Тэрезе выдвига... текст свёрнут, показать
     
     
  • 9.22, kreator (??), 00:03, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нафлеймили кучу необоснованных домыслов Сам спросил, сам и отвечу http www... текст свёрнут, показать
     
  • 2.15, Аноним (-), 16:59, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Ни слова об слиянии с eglibc :(

    Учитывая как они раньше себя вели это и не удивительно. Eglibc - это такой форк glibc созданный в результате наличия в glibc господ типа Дреппера. Впрочем, учтя что он кажется свалил и вообще политика glibc несколько пересмотрена - оно может уже и не так нереально.

     
     
  • 3.18, Иван Иванович Иванов (?), 17:45, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ульрих никуда не ушёл, он место работы поменял - его патчей в glibc море.

    Политика вряд ли кардинально поменялась.

     
     
  • 4.21, Аноним (-), 23:51, 01/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ульрих никуда не ушёл, он место работы поменял - его патчей в glibc море.

    Он вроде теперь не сможет так же нагло всех слать. Но..

    > Политика вряд ли кардинально поменялась.

    ...вот это - скорее всего факт. Поэтому пусть уж eglibc живет отдельно. А то всякие "а, да подумаешь - ынтырпрайзы упали! Я прав и все тут!" или "а вот на ARM в вашей либе - баг! Ничего не знаем, этот ваш арм - дeрьмo, мы не поддерживаем его, сами разбирайтесь!". А потом они еще удивляются почему в openwrt - ucLibc и/или eglibc. Для них ARM - нормально. Как впрочем и MIPS. Или что там у кого еще есть.

     
     
  • 5.23, arisu (ok), 06:43, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Он вроде теперь не сможет так же нагло всех слать.

    что печально. потому что другого языка идиоты не понимают.

    > А то всякие «а, да подумаешь — ынтырпрайзы упали! Я прав и все тут!»

    и что характерно — действительно, прав.

    > А потом они еще удивляются почему в openwrt — ucLibc и/или eglibc.

    кто «они»?

     
  • 5.24, BratSinot (?), 11:21, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А потом они еще удивляются почему в openwrt - ucLibc и/или eglibc.

    Действительно, кто "они"? Что-то не помню, что glibc позиционировалась как libc библиотека для embedded систем. Тратить ресурсы на десктоп/сервера и на embedded приведет к тому, то ни одно ни другое нормально развиваться не сможет, а коли сможет, то медленней.

     
  • 3.25, Аноним (-), 15:43, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Eglibc - это такой форк glibc созданный в результате наличия в glibc господ типа Дреппера.

    Неа. Учите матчасть.
    Разработчики eglibc ничего не имеют против Дреппера. Все, что они хотели - собирать урезанные версии glibc для встраиваемых систем.

     
     
  • 4.26, Аноним (-), 15:46, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Разработчики eglibc ничего не имеют против Дреппера.

    Вообще, люди типа Торвальдса, Поттеринга, Дреппера - не нравятся только агрессивным, но не разбирающимся в матчасти анонимам. Среди коллег-разработчиков их как минимум уважают, и никаких крестовых походов никогда не устраивают.

     
     
  • 5.27, arisu (ok), 20:21, 02/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    хм. а по-моему, как раз тем, кто в матчасти разбирается, портеринг и не нравится. а вот неразбирающиеся хомячки за него горой.
     
     
  • 6.28, Аноним (-), 17:31, 03/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > хм. а по-моему, как раз тем, кто в матчасти разбирается, портеринг и не нравится. а вот неразбирающиеся хомячки за него горой.

    Наоборот. Например, часто встречающееся заявление "без /usr все нормально грузится" является безусловным признаком незнания матчасти. Я уж не говорю про "прозрачность" shell-скриптов и "необходимость изучать си для редактирования юнитов".
    Аналогично и с Дреппером. Как правило, на него гонят ровно те же самые хомячки.

     
  • 6.29, broke (?), 02:17, 04/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >как раз тем, кто в матчасти разбирается

    и это ни на долю секунды не про тебя

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру