The OpenNET Project / Index page

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

Выпуск системной библиотеки Glibc 2.30

02.08.2019 01:29

После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.30, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2008. В состав нового выпуска включены исправления от 48 разработчиков.

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

  • В динамическом компоновщике обеспечена поддержка опции "--preload" для предзагрузки разделяемых объектов (аналог переменной окружения LD_PRELOAD);
  • Добавлена функция twalk_r, похожая на уже существующую функцию twalk, но позволяющая передать дополнительный аргумент в заданную callback-функцию;
  • Для Linux добавлены новые функции getdents64, gettid и tgkill;
  • Обеспечено завершение с кодом ошибки функций управления памятью malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign и posix_memalign, в ситуации, когда общий размер объекта превышает значение PTRDIFF_MAX. Указанное изменение позволяет избежать неопределённого поведения, когда результат манипуляции с указателями приводит к переполнению типа ptrdiff_t;
  • Добавлены предложенные в POSIX функции pthread_cond_clockwait, pthread_mutex_clocklock, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock и sem_clockwait, похожие на эквиваленты "timed", но дополнительно принимающие параметр clockid_t для выбора таймера;
  • Данные кодировок, информация о типах символов и таблицы транслитерации обновлены для поддержки спецификации Unicode 12.1.0;
  • В библиотеке librt для новых приложений больше не предоставляются функции clock_gettime, clock_getres, clock_settime, clock_getcpuclockid и clock_nanosleep, вместо которых автоматически используются определения в libc;
  • В /etc/resolv.conf прекращена поддержка опции "inet6". Из resolv.h удалены устаревшие флаги RES_USE_INET6, RES_INSECURE1 и RES_INSECURE2;
  • При указании опции "--enable-bind-now" устанавливаемые программы теперь связываются с использованием флага BIND_NOW;
  • Объявлены устаревшими специфичные для Linux заголовочный файл sys/sysctl.h и функция sysctl, вместо которых приложениям следует использовать псевдо-ФС /proc;
  • Для сборки Glibc теперь требуется GCC 6.2 или более новая версия (для сборки приложений могут использоваться любые компиляторы);
  • Устранена уязвимость CVE-2019-7309 в реализации функции memcmp для устаревшей субархитектуры x32 (не путать с x86 IA-32), в результате которой функция некорректно могла возвращать значение 0 для несовпадающих строк;
  • Устранена уязвимость CVE-2019-9169, которая может привести к чтению данных из области вне границ буфера при обработке определённых регулярных выражений.


  1. Главная ссылка к новости (https://sourceware.org/ml/libc...)
  2. OpenNews: Выпуск системной библиотеки Glibc 2.29
  3. OpenNews: Выпуск системной библиотеки Glibc 2.28
  4. OpenNews: Конфликт между Ричардом Столлманом и командой разработчиков Glibc
  5. OpenNews: Выпуск системной библиотеки Glibc 2.27
  6. OpenNews: Уязвимость в Glibc ld.so, позволяющая поднять свои привилегии в системе
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51205-glibc
Ключевые слова: glibc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 01:39, 02/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не по теме, но на общую производительность больший эффект производит перекомпиляция именно glibc, а не ядра. Лучше,конечно, пересобрать и то и то.
     
     
  • 2.2, xl32 (ok), 02:33, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    И как часто надо пересобирать "и то и то", чтобы поднялась производительность?
     
     
  • 3.3, Аноним (3), 02:50, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Шуточный ответ: каждое полнолуние
    Разумный ответ: с каждой сменой процессора, а вообще надо подумать есть ли вообще разница (там если что и оптимизируеться так это SSE, MMX, и т.д. какой смысл пересобирать вообще не ясно.
     
     
  • 4.7, Аноним (1), 04:16, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    я использую -mtune-native вместо generic, а там gcc сам разберется что куда.
    Например, в моем случае, hdparm показывает частоты шины и линейную скорость с рэйда примерно на 10% больше.
     
     
  • 5.13, Минона (ok), 08:35, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Всего 10?!
    А я использую -march-native, и у меня + 146%
     
     
  • 6.16, пох. (?), 10:08, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты забыл -O6 !
     
  • 6.21, Аноним (21), 13:25, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Зачем ты это написал?
     
     
  • 7.35, kai3341 (ok), 03:26, 03/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Здесь любят дураков и хейтят всех остальных. Священные коровы: systemd, python, js-фреймворки
     
  • 3.4, Имя (?), 02:50, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При смене железа.
    При мажорном релизе.
     
     
  • 4.37, axredneck (?), 21:22, 03/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    И перед сменой железа не забыть поставить версии пакетов из реп дистра, иначе есть шанс нарваться на "invalid instruction"
     
  • 3.5, Аноним (5), 03:42, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А что за дистрибутив? LFS?
     
     
  • 4.6, Аноним (1), 03:54, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Arch c linux-zen
     
  • 4.8, немезидеЦ (?), 05:57, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    and gentoo too =)
     
  • 4.10, Аноним (10), 07:39, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    пять минут назад прочитал про LFS и надо бегом бежать шутить везде?
     
  • 3.11, Andrey Mitrofanov_N0 (??), 08:18, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > И как часто надо пересобирать "и то и то", чтобы поднялась производительность?

    Пересобирать, пока не поднимется же.

     
     
  • 4.19, Аноним (19), 11:46, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    А чем заняться если от пересборки уже не поднимается?
     
     
  • 5.23, Amphyby (ok), 13:42, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    удлинять, яснопонятно
     
  • 5.28, Аноним (28), 14:49, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А чем заняться если от пересборки уже не поднимается?

    Если уже не поднимается, тогда единственное развлечение - пересборка.

     
  • 3.36, Michael Shigorin (ok), 17:19, 03/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нуу мне вот было полезно новым lcc пересобрать да с -O3.  Причём да, от такой glibc даже 401 эльбрус в целом отчётливо взбодрился.
     

  • 1.9, Аноним (10), 07:35, 02/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    как это glibc связан с линковщиком, переменной PATH (LD_PRELOAD...), /etc/hosts и libc?
     
     
  • 2.14, Аноним (14), 09:04, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наверное тем, что glibc и есть реализация libc
     
  • 2.15, Аноним (15), 09:26, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    /lib/ld-linux.so часть glibc.
    погугли, если интересно что это такое.
     
  • 2.26, Anonimous (?), 14:11, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    man ld-linux.so
     

  • 1.12, Аноним (12), 08:26, 02/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Musl rulezzzz
     
     
  • 2.17, Аноним (17), 10:35, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В embedded. А на десктопе все эти урезанные libc... Вероятно, найдутся приложения, которые с ними не соберутся.
     
     
  • 3.20, пох. (?), 11:58, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    хуже - они соберутся, и в общем и целом будут работать - только иногда глючить и падать.

    И не потому что урезанные, а потому что количество багов в том и другом перестало быть четно.

     

  • 1.24, Zenitur (ok), 13:54, 02/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда я пользуюсь версией 2.12 из CentOS 6, или 2.17 из Ubuntu 14.04, я что-нибудь теряю?
     
     
  • 2.25, Anonimous (?), 14:00, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    нет
     
  • 2.27, пох. (?), 14:17, 02/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    во втором случае - либо ты теряешь деньги, либо приобретаешь неустраняемые уязвимости - причем что-нибудь может оказаться и remote, как в приснопамятном случае с dns. И ты об этом можешь не узнать, поскольку далеко не всегда такие уязвимости раскрывают.
    Поскольку твоей 14й уже EOL, а за extended support надо башлять.

     

  • 1.29, анонн (ok), 17:17, 02/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Для Linux добавлены новые функции

    Можно подумать, оно кроме Линукса еще где-то заводится (ранее - не без большой кучи патчей, костылей и правок, как сейчас - не знаю, но есть некоторые подозрения) или тем более, используется серьезно.

    Хотя вру:
    https://sourceware.org/glibc/wiki/HomePage
    > 5.12. Project Ports
    > Currently GLIBC only works with Linux and the Hurd,

     
     
  • 2.38, Andrey Mitrofanov_N0 (??), 09:21, 05/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> Для Linux добавлены новые функции
    > Можно подумать, оно кроме Линукса еще где-то заводится (ранее - не без
    > большой кучи патчей, костылей и правок, как сейчас - не знаю,
    > но есть некоторые подозрения)

    Говорят, недавно hurd [опять, да] догнал и запустился без патчей...  Бывает иногда.

     

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



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

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