Релиз системной библиотеки Glibc 2.14

Представлен релиз системной библиотеки GNU C Library (glibc) 2.14, в подготовке которого использованы патчи от 28 разработчиков. Glibc является основой большинства Linux-дистрибутивов, за исключением OpenWrt, Debian и Ubuntu, которые перешли на использование системной библиотеки Eglibc. Библиотека Eglibc полностью совместима с Glibc и отличается более низкими системными требованиями, возможностью гибкой настройки компонентов, улучшенной поддержкой кросс-компиляции и кросс-тестирования.

Из добавленных в Glibc 2.14 улучшений можно отметить:

  • Объявлена устаревшей классическая реализация RPC. Разработчикам рекомендуется портировать свои приложения на использование новой реализации TI-RPC, в которой добавлена поддержка IPv6 и реализованы другие полезные возможности. Старые программы останутся работоспособными, но новые приложения уже нельзя будет связать со старой реализацией RPC (при использовании в программе RPC-функций допускается только связывание с библиотекой TI-RPC);
  • Добавлена поддержка программных интерфейсов, появившихся в версии Linux-ядра 2.6.39 или ожидаемых в будущей версии 3.0:
    • name_to_handle_at и open_by_handle_at - позволяют приложениям сопоставить имя файла с внутренней структурой file_handle или открыть файл, указав его handle;
    • syncfs - работает как sync() за исключением того, что сброс буферов на постоянный носитель осуществляется только для файловой системы, отождествленной с указанным файловым дескриптором.
    • setns - позволяет использовать для файлового дескриптора определенное изолированное пространство имен (namespace)
    • sendmmsg - позволяет организовать передачу в рамках одного системного вызова сразу нескольких сообщений, которые ранее потребовали бы отдельных вызовов sendmsg(). Технология значительно повышает эффективность работы приложений передающих большие объемы данных или оперирующих пакетами небольшого размера;
    • clock_adjtime - аналог функции adjtimex, позволяющий регулировать работу POSIX-часов;
  • В комплект включена утилита sotruss для выполнения трассировки библиотечных вызовов с использованием PLT (Procedure Linkage Table);
  • Возможность установки хука на вызов malloc объявлена устаревшей и будет удалена в следующей версии. Причина прекращения использования данного хука в его неприспособленности к работе в многопоточных программах;
  • Новые локали: os_RU (Осетия), mhr_RU (Марий Эл), bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH, yue_HK, lij_IT;
  • Новые кодировки: CP770, CP771, CP772, CP773, CP774;
  • Исправлены 94 ошибки.

© OpenNet