Представлен (https://sourceware.org/ml/libc-alpha/2015-02/msg00119.html) релиз системной библиотеки GNU C Library (http://ftp.gnu.org/gnu/glibc/) (glibc) 2.21 (http://sourceware.org/glibc/wiki/Release/2.21), которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2008. В подготовке нового выпуска использованы патчи от 61 разработчика.
Из добавленных в Glibc 2.21 улучшений (http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;h... можно отметить:
- Задействован новый алгоритм семафоров, реализованный с использованием единого для всех платформ кода на языке Си. Прошлая реализация была написана на ассемблере и испытывала проблемы с проверкой надёжности. Новая реализация поддерживает системы с 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-процессоров (https://ru.wikipedia.org/wiki/Soft-%D0%BC%D0&... Altera Nios II (http://www.altera.com/devices/processor/nios2/ni2-index.html), подготовленный компанией 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 - может привести к переполнению буфера, о котором было известно (https://sourceware.org/bugzilla/show_bug.cgi?id=16618) с февраля прошлого года. Проблема проявляется из-за некорректного расчёта размера буфера, выделяемого для размещения разобранных аргументов функции wscanf;- CVE-2014-7817 - игнорирование флага WRDE_NOCMD в функции wordexp может привести к запуску командной оболочки при обработке определённым образом оформленных входных данных;
- CVE-2012-3406 - переполнение стека при обработке в printf-подобных функциях слишком большого числа спецификаторов формата;
- CVE-2014-9402 - бесконечное зацикливание реализации nss_dns-функции getnetbyname при получении DNS-ответа, содержащего некорректные данные в поле PTR;- Исправлено более 100 ошибок.
URL: https://sourceware.org/ml/libc-alpha/2015-02/msg00119.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=41623
> Исправлено более 100 ошибок.Да это ж почти множество!
>> Исправлено более 100 ошибок.
> Да это ж почти множество!Ну это же не wine, поэтому не катит тут множество.
Вконец достали уже эти криворукие и бездарные программистишки - что ни софтина или либа - так более сотни багов и ошибок, при норме в 3-5.
требуем назад свои деньги!
Зачем нужен этот опенсорс, сделанный в "свободное от основной работы время", когда он днище по сравнению с нормальным коммерческим софтом?
видимо, зачем-то тебе нужен, раз ты сюда пришёл претензии выдвигать. наверное, потому, что ты нищеброд и не можешь себе позволить покупать коммерческий софт.
Я уже давно вернулся на Винду, из-за убогости линукса на десктопе, но продолжаю тыкать последний раз в 2 года, в надежде, что внезапно наступил ОН. Но нет, разрыв между этими системами похоже только увеличивается. Скорее всего, линуксу уже никогда не достигнуть уровня хотя бы 7ки, уже не говоря про 8.1 и 10. А линуксоиды всё так же ведутся на дешёвые вбросы, как и 10 лет назад, так что грех не вбросить. Хотя в этой теме я не вбрасывал, а говорил правду.
> Хотя в этой теме я не вбрасывал, а говорил правду.Это либо вбросы (если вы тролль) или элементарная неосведомлённость:
1.
> Вконец достали уже эти криворукие и бездарные программистишки2.
> что ни софтина или либа - так более сотни багов и ошибок, при норме в 3-53.
> сделанный в "свободное от основной работы время"4.
> когда он днище по сравнению с нормальным коммерческим софтомВы изучите как всё обстоит на самом деле по каждому из данных вопросов.
P.S.: И на всякий случай напомню, что всякие там ОС используют не только на десктопах.
> Я уже давно вернулся на ВиндуВрешь ведь, ты плотно сидишь на веществах
> Зачем нужен этот опенсорс, сделанный в "свободное от основной работы время", когда он днище по сравнению с нормальным коммерческим софтом?С чего вы взяли, что он сделан в "свободное от основной работы время"?
Скажи мамке, чтобы чаще пускала тебя вконтакты, потому что сегодня ты хреновый тралл.
> днище по сравнению с нормальным коммерческим софтомТо, что разработчики коммерческого софта не публикуют информацию об ошибках в своих продуктах, не значит, что этих ошибок там нет.
К.О.
Вы с какой коммерческой libc сравнивали, если не секрет? У меня что-то вокруг гнутые и бсдшные, коммерческой не осталось ни одной (хотя помню времена оных).
толстота то какая
> Вконец достали уже эти криворукие и бездарные программистишки - что ни софтина
> или либа - так более сотни багов и ошибок, при норме
> в 3-5.Откуда вы взяли такую норму?
Я бы тоже хотел знать ответ на этот вопрос, т. к. мне приходит в голову только следующая цитата Таненбаума: «Различные исследователи определяли количество ошибок на 1000 строк кода (например, Basilli and Perricone, 1984; Ostrand and Weyuker, 2002). Плотность ошибок зависит от размера модуля, возраста модуля и других факторов, но приблизительная цифра для солидных промышленных систем – 10 ошибок на 1000 строк кода.».
Согласно Ohloh (https://www.openhub.net/p/glibc), количество строк кода glibc стремительно приближается к 2,5 млн. Таким образом, сотня ошибок – это вполне нормально.
> Вконец достали уже эти криворукие и бездарные программистишкиЕсть радикальный способ борьбы с этим явлением. Надо самому стать программистом и написать свою библиотеку. Ведь свое гoвно не пахнет!
Сталина на них нет, нужен процесс программистов-вредителей !
Пишут отказ от ответственности и думают , что спасутся от карающего меча революционного правосудия !!
>для soft-процессоров Altera Nios II,
>powerpc64/powerpc64le
>AArch64
>i386
>MIPSСкучно:(
>бесконечное зацикливание реализации nss_dns-функции getnetbynameЗабавно. Сурово даже...
> Рекомендую попробовать пособрать релизы годов 2003-2007, безудержное веселье гарантировано.Я в 2003-ем лишь начинал пробовать ОС на базе Linux. Но, честно сказать, я не помню ни одной проблемы c glibc вплоть до 2006-го года (а потом я просто перешёл на *BSD на следующие пару лет). Какие-то хреновые у вас гарантии "безудержного веселья".
в #10 он блистательно ответил. я так понял, у него от Большого Умища проблемы. а кому повезло с нормальным умищем родиться — у тех нормально всё.
> Я в 2003-ем лишь начинал пробовать ОС на базе Linux. Но, честно
> сказать, я не помню ни одной проблемы c glibc вплоть до
> 2006-го года (а потом я просто перешёл на *BSD на следующие
> пару лет). Какие-то хреновые у вас гарантии "безудержного веселья".А в бинарных дистрибутивах проблем и не было, они были при сбокре из исходников, нужно было накладывать правильные патчи в правильном порядке, причем разрабы эти пачи игнорили начисто (глупые ошибки повторялись от релиза к релизу), поэтому они были от разных версий и ругались на то, что искомые строки находятся не там где надо, но накладывались, а вот правильность патчей и их порядок определялся только при сборке, и если собралось еще не факт, что система с этим загрузится, а даже если загрузится отдельные проги могли падать в сегментацию памяти из-за кривой с борки в глибц требуемых функций, но даже если тут все было нормально еще встречались пробемы с копиляцией нового софта со скомпилированной библиотекой, поскольку статически линкуемая асемблерная вставка которая запускала фун-ю main в cи тащила за собой еще несколько функций стандартных, которые должны были уже динамически подгружаться из самой либы, в результате редефайн еррор и досвиданья.
В общем после сборки такого глибса чакры прочишались и наступало полное понимание работы всего узерспейса.
У меня и в source-based особых проблем не было, в 2004 или 2005-ом как раз генту впервые попробовал.
> У меня и в source-based особых проблем не было, в 2004 или
> 2005-ом как раз генту впервые попробовал.мб, там все патчи в пакете с сырцами были, как и в srpm, но для новых релизов эти пакеты выходили спустя месяцы, поэтому тем кто хотел новых плюшик приходилось тяжко.
> полностью следует требованиям стандартов ISO C11Хм. А про потоки ничего ниже не сказано...
Ы?
Так написано же, - POSIX.1-2008. Скачайте стандарт.susv4tc1/functions/V2_chap02.html#tag_15_09
----> Раздел XSH, - системные интерфейсы, параграф 2.9
POSIX не отменяет стандарта С11. И речь вообще не о посикс, а о стандарте на Си.
Они как бэ ортогональны.Вон трэды в С++11 поддерживаются, хотя и реализованы через pthread.
В С11 так трэдов и не появилось, хотя pthread сто лет в обед уже как. Что не решает вопроса с кроссплатформенностью и полной реализации стандарта на СИ (о чём заявлено и о чём собсно и речь)
> При сборке Glibc по умолчанию включен флаг "-Werror";и надеюсь флаг -Wall тоже
> и надеюсь флаг -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 собирают только её авторы.
Устранены уязвимости:.....
CVE-2015-0235 ?
Вообже это похоже на мышиную возню.
ЦРУ, ФСБ и прочие "Е", "И" делают "закладки"