The OpenNET Project / Index page

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

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

06.02.2015 21:23

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

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

  • Задействован новый алгоритм семафоров, реализованный с использованием единого для всех платформ кода на языке Си. Прошлая реализация была написана на ассемблере и испытывала проблемы с проверкой надёжности. Новая реализация поддерживает системы с 32- или 64-разрядными атомарными операциями и используется в функциях sem_init, sem_open, sem_post, sem_wait, sem_timedwait, sem_trywait и sem_getvalue;
  • До GCC 4.6 повышены требования к минимальной версии компилятора, необходимого для сборки Glibc. Старые версии GCC и другие компиляторы по-прежнему могут использоваться для сборки программ, использующих Glibc;
  • При сборке Glibc по умолчанию включен флаг "-Werror";
  • Представлен порт Glibc для soft-процессоров Altera Nios II, подготовленный компанией Mentor Graphics;
  • Включена оптимизированная для процессоров powerpc64/powerpc64le реализация функций strcpy, stpcpy, strncpy, stpncpy, strcmp и strncmp;
  • Включена оптимизированная для процессоров AArch64 реализация функций strcpy, stpcpy, strchrnul и strrchr.
  • Реализация функций memcpy для архитектуры i386 оптимизирована с использованием не требующих выравнивания SSE2-инструкций load/store;
  • В реализации мьютексов pthread для процессоров powerpc32, powerpc64le и powerpc64 добавлена поддержка механизма Lock Elision, входящего в состав набора расширений TSX (Transactional Synchronization Extensions), что позволяет увеличить масштабируемость блокировок на системах с поддержкой инструкции HTM. Механизм по умолчанию отключен и требует сборки Glibc с опцией "--enable-lock-elision=yes";
  • Удалена устаревшая функция sigvec, на смену которой в POSIX.1 пришёл интерфейс sigaction.
  • Добавлена поддержка ABI-расширений MIPS o32 FPXX, FP64A и FP64;
  • Устранены уязвимости:
    • CVE-2015-1472 - может привести к переполнению буфера, о котором было известно с февраля прошлого года. Проблема проявляется из-за некорректного расчёта размера буфера, выделяемого для размещения разобранных аргументов функции wscanf;
    • CVE-2014-7817 - игнорирование флага WRDE_NOCMD в функции wordexp может привести к запуску командной оболочки при обработке определённым образом оформленных входных данных;
    • CVE-2012-3406 - переполнение стека при обработке в printf-подобных функциях слишком большого числа спецификаторов формата;
    • CVE-2014-9402 - бесконечное зацикливание реализации nss_dns-функции getnetbyname при получении DNS-ответа, содержащего некорректные данные в поле PTR;
  • Исправлено более 100 ошибок.


  1. Главная ссылка к новости (https://sourceware.org/ml/libc...)
  2. OpenNews: Критическая уязвимость в Glibc, которая может привести к удалённому выполнению кода в Linux
  3. OpenNews: Выпуск системной библиотеки Glibc 2.20, ознаменовавший слияние с Eglibc
  4. OpenNews: Debian GNU/Linux возвращается с Eglibc на GLibc
  5. OpenNews: Представлена стандартная Си-библиотека Musl 1.0.0, развиваемая в качестве альтернативы Glibc
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41623-glibc
Ключевые слова: glibc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, пинус (?), 22:23, 06/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > Исправлено более 100 ошибок.

    Да это ж почти множество!

     
     
  • 2.3, EuPhobos (ok), 23:06, 06/02/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> Исправлено более 100 ошибок.
    > Да это ж почти множество!

    Ну это же не wine, поэтому не катит тут множество.

     
  • 2.8, Пётр (?), 10:15, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Вконец достали уже эти криворукие и бездарные программистишки - что ни софтина или либа - так более сотни багов и ошибок, при норме в 3-5.
     
     
  • 3.9, arisu (ok), 10:21, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    требуем назад свои деньги!
     
     
  • 4.11, Пётр (?), 10:35, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • –9 +/
    Зачем нужен этот опенсорс, сделанный в "свободное от основной работы время", когда он днище по сравнению с нормальным коммерческим софтом?
     
     
  • 5.12, arisu (ok), 10:42, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +8 +/
    видимо, зачем-то тебе нужен, раз ты сюда пришёл претензии выдвигать. наверное, потому, что ты нищеброд и не можешь себе позволить покупать коммерческий софт.
     
     
  • 6.26, Пётр (?), 15:07, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Я уже давно вернулся на Винду, из-за убогости линукса на десктопе, но продолжаю тыкать последний раз в 2 года, в надежде, что внезапно наступил ОН. Но нет, разрыв между этими системами похоже только увеличивается. Скорее всего, линуксу уже никогда не достигнуть уровня хотя бы 7ки, уже не говоря про 8.1 и 10. А линуксоиды всё так же ведутся на дешёвые вбросы, как и 10 лет назад, так что грех не вбросить. Хотя в этой теме я не вбрасывал, а говорил правду.
     
     
  • 7.27, Xaionaro (ok), 15:14, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Хотя в этой теме я не вбрасывал, а говорил правду.

    Это либо вбросы (если вы тролль) или элементарная неосведомлённость:

    1.
    > Вконец достали уже эти криворукие и бездарные программистишки

    2.
    > что ни софтина или либа - так более сотни багов и ошибок, при норме в 3-5

    3.
    > сделанный в "свободное от основной работы время"

    4.
    > когда он днище по сравнению с нормальным коммерческим софтом

    Вы изучите как всё обстоит на самом деле по каждому из данных вопросов.

    P.S.: И на всякий случай напомню, что всякие там ОС используют не только на десктопах.

     
  • 7.52, kurokaze (ok), 21:33, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Я уже давно вернулся на Винду

    Врешь ведь, ты плотно сидишь на веществах

     
  • 5.14, Xaionaro (ok), 10:51, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Зачем нужен этот опенсорс, сделанный в "свободное от основной работы время", когда он днище по сравнению с нормальным коммерческим софтом?

    С чего вы взяли, что он сделан в "свободное от основной работы время"?

     
  • 5.21, Аноним (-), 13:43, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Скажи мамке, чтобы чаще пускала тебя вконтакты, потому что сегодня ты хреновый тралл.
     
  • 5.22, Аноним (-), 13:44, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > днище по сравнению с нормальным коммерческим софтом

    То, что разработчики коммерческого софта не публикуют информацию об ошибках в своих продуктах, не значит, что этих ошибок там нет.

    К.О.

     
  • 5.44, й (?), 18:22, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вы с какой коммерческой libc сравнивали, если не секрет? У меня что-то вокруг гнутые и бсдшные, коммерческой не осталось ни одной (хотя помню времена оных).
     
  • 5.51, kurokaze (ok), 21:32, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    толстота то какая
     
  • 3.15, Xaionaro (ok), 10:55, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Вконец достали уже эти криворукие и бездарные программистишки - что ни софтина
    > или либа - так более сотни багов и ошибок, при норме
    > в 3-5.

    Откуда вы взяли такую норму?

     
     
  • 4.18, ek (?), 11:57, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я бы тоже хотел знать ответ на этот вопрос, т. к. мне приходит в голову только следующая цитата Таненбаума: «Различные исследователи определяли количество ошибок на 1000 строк кода (например, Basilli and Perricone, 1984; Ostrand and Weyuker, 2002). Плотность ошибок зависит от размера модуля, возраста модуля и других факторов, но приблизительная цифра для солидных промышленных систем – 10 ошибок на 1000 строк кода.».
    Согласно Ohloh (https://www.openhub.net/p/glibc), количество строк кода glibc стремительно приближается к 2,5 млн. Таким образом, сотня ошибок – это вполне нормально.
     
  • 3.42, Аноним (-), 17:54, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вконец достали уже эти криворукие и бездарные программистишки

    Есть радикальный способ борьбы с этим явлением. Надо самому стать программистом и написать свою библиотеку. Ведь свое гoвно не пахнет!

     
  • 3.54, КарМер (?), 23:22, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Сталина на них нет, нужен процесс программистов-вредителей !
    Пишут отказ от ответственности и думают , что спасутся от карающего меча революционного правосудия !!
     

  • 1.2, A.Stahl (ok), 23:01, 06/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >для soft-процессоров Altera Nios II,
    >powerpc64/powerpc64le
    >AArch64
    >i386
    >MIPS

    Скучно:(
    >бесконечное зацикливание реализации nss_dns-функции getnetbyname

    Забавно. Сурово даже...

     
     
     
    Часть нити удалена модератором

  • 3.16, Xaionaro (ok), 11:18, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Рекомендую попробовать пособрать релизы годов 2003-2007, безудержное веселье гарантировано.

    Я в 2003-ем лишь начинал пробовать ОС на базе Linux. Но, честно сказать, я не помню ни одной проблемы c glibc вплоть до 2006-го года (а потом я просто перешёл на *BSD на следующие пару лет). Какие-то хреновые у вас гарантии "безудержного веселья".

     
     
  • 4.17, arisu (ok), 11:23, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    в #10 он блистательно ответил. я так понял, у него от Большого Умища проблемы. а кому повезло с нормальным умищем родиться — у тех нормально всё.
     
  • 4.37, cmp (ok), 16:30, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я в 2003-ем лишь начинал пробовать ОС на базе Linux. Но, честно
    > сказать, я не помню ни одной проблемы c glibc вплоть до
    > 2006-го года (а потом я просто перешёл на *BSD на следующие
    > пару лет). Какие-то хреновые у вас гарантии "безудержного веселья".

    А в бинарных дистрибутивах проблем и не было, они были при сбокре из исходников, нужно было накладывать правильные патчи в правильном порядке, причем разрабы эти пачи игнорили начисто (глупые ошибки повторялись от релиза к релизу), поэтому они были от разных версий и ругались на то, что искомые строки находятся не там где надо, но накладывались, а вот правильность патчей и их порядок определялся только при сборке, и если собралось еще не факт, что система с этим загрузится, а даже если загрузится отдельные проги могли падать в сегментацию памяти из-за кривой с борки в глибц требуемых функций, но даже если тут все было нормально еще встречались пробемы с копиляцией нового софта со скомпилированной библиотекой, поскольку статически линкуемая асемблерная вставка которая запускала фун-ю main в cи тащила за собой еще несколько функций стандартных, которые должны были уже динамически подгружаться из самой либы, в результате редефайн еррор и досвиданья.

    В общем после сборки такого глибса чакры прочишались и наступало полное понимание работы всего узерспейса.

     
     
  • 5.43, 0xd34df00d (??), 18:11, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    У меня и в source-based особых проблем не было, в 2004 или 2005-ом как раз генту впервые попробовал.
     
     
  • 6.48, cmp (ok), 19:51, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > У меня и в source-based особых проблем не было, в 2004 или
    > 2005-ом как раз генту впервые попробовал.

    мб, там все патчи в пакете с сырцами были, как и в srpm, но для новых релизов эти пакеты выходили спустя месяцы, поэтому тем кто хотел новых плюшик приходилось тяжко.

     

  • 1.4, ананим.orig (?), 00:25, 07/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > полностью следует требованиям стандартов ISO C11

    Хм. А про потоки ничего ниже не сказано...
    Ы?

     
     
  • 2.36, barmaglot1 (ok), 16:27, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Так написано же, - POSIX.1-2008. Скачайте стандарт.

    susv4tc1/functions/V2_chap02.html#tag_15_09

    ----> Раздел XSH, - системные интерфейсы, параграф 2.9

     
     
  • 3.55, ананим.orig (?), 01:34, 08/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    POSIX не отменяет стандарта С11. И речь вообще не о посикс, а о стандарте на Си.
    Они как бэ ортогональны.

    Вон трэды в С++11 поддерживаются, хотя и реализованы через pthread.
    В С11 так трэдов и не появилось, хотя pthread сто лет в обед уже как. Что не решает вопроса с кроссплатформенностью и полной реализации стандарта на СИ (о чём заявлено и о чём собсно и речь)

     

  • 1.5, Xasd (ok), 00:55, 07/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > При сборке Glibc по умолчанию включен флаг "-Werror";

    и надеюсь флаг -Wall  тоже

     
     
  • 2.25, zz (??), 14:07, 07/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > и надеюсь флаг -Wall  тоже

    Не знаю, но у меня не собралось, ругнулось на "возможно неинициализированное extra" в куске кода:

    if (cset->ncoll_syms)
      extra = ...
    for (i = 0; i < cset->ncoll_syms; ++i)
      {
        const unsigned char *coll_sym = extra + cset->coll_syms[i];

    в posix/regexec.c .

    Поэтому собирал с --disable-werror .

    Ох уж мне эти "мейнтейнеры", считающие, что из исходников glibc собирают только её авторы.

     

  • 1.45, StainlessRat (??), 18:26, 07/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Устранены уязвимости:.....
    CVE-2015-0235 ?
    Вообже это похоже на мышиную возню.
    ЦРУ, ФСБ и прочие "Е", "И" делают "закладки"
     

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



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

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