Увидел свет (http://sourceware.org/ml/libc-alpha/2013-08/msg00160.html) релиз системной библиотеки GNU C Library (http://ftp.gnu.org/gnu/glibc/) (glibc) 2.18 (http://sourceware.org/glibc/wiki/Release/2.18), которая полностью следует требованиям стандартов ISO C99, C11 и POSIX.1-2008. В подготовке нового выпуска использованы патчи от 66 разработчиков. Новая версия отличается добавлением фреймворка для оценки производительности функций, оптимизациями для архитектуры ARM, поддержкой платформ POWER8 и Xilinx MicroBlaze, улучшением поддержки C++11 и поддержкой блокировок с задействованием расширения Intel TSX.
Glibc является основой большинства Linux-дистрибутивов, за исключением OpenWrt, Debian и Ubuntu, которые перешли на использование системной библиотеки Eglibc (http://www.eglibc.org). Библиотека Eglibc построена на актуальной кодовой базе Glibc и полностью совместима с ней на уровне API и ABI, отличаясь (http://www.eglibc.org/faq) интеграцией некоторых дополнительных наработок для встраиваемых систем, более низкими системными требованиями, возможностью гибкой настройки компонентов, улучшенной поддержкой кросс-компиляции и кросс-тестирования.
Из добавленных в Glibc 2.18 улучшений (http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;h...) можно отметить:
- Добавлен фреймворк для отслеживания производительности функций, доступных в glibc;- Задействование (http://lwn.net/Articles/534758/) в реализация мьютексов pthread для архитектур i386 и x86-64 аппаратных механизмов проведения транзакций в памяти, представленных в процессорах серии Haswell в форме инструкций HLE (Hardware Lock Elision), входящих в состав набора расширений Intel TSX (http://software.intel.com/en-us/blogs/2012/11/06/exploring-i...) (Transactional Synchronization Extensions). Внесённое улучшение позволяет увеличить масштабируемость блокировок для существующих программ, при их запуске на системах, поддерживающих расширения TSX. Для включения поддержки TSX библиотека glibc должна быть собрана с указанием configure-опции "--enable-lock-elision=yes";
- Поддержка платформы POWER8;
- Портирование для программных процессоров Xilinx MicroBlaze (http://www.xilinx.com/tools/microblaze.htm);
- Поддержка нового набора полей AT_HWCAP2 (HardWare CAPabilities), используемых в бинарном формате ELF для определения области использования машинных команд, привязанных к специфичной архитектуре;- Расширение поддержки C++11: вызов деструкторов объекта thread_local при завершении работы нити и программы;
- Увеличена точность в функциях вывода времени, за счёт использования нового системного вызова ядра Linux - clock_gettime;
- Добавлены новые функции pthread_getattr_default_np и
pthread_setattr_default_np для вывода и установки pthread-атрибутов по умолчанию;
- Оптимизации:
- Улучшена производительность математических функций из состава libm, принимающих и выводящих результат с типом double;- Оптимизация работы строковых функций для архитектур ARM и AArch64;
- Расширение областей glibc, собираемых для платформы ARM с использованием кода Thumb-2;
- Оптимизация работы математических функций libm для архитектуры SPARC;
- Поддержка сборки glibc для MIPS с использованием кода MIPS16;
- Исправлено 147 ошибок, в том числе устранено три уязвимости:
- CVE-2013-1914 (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2013-1914) - переполнение стека через передачу некорректных аргументов функции getaddrinfo(). При успешной эксплуатации (http://www.openwall.com/lists/oss-security/2013/04/03/2) возможно инициирование краха приложения;
- CVE-2013-2207 (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2013-2207) - возможность назначения владельца и привилегий для чужого псевдотерминала через использование функции pt_chown;- CVE-2013-0242 (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2013-0242) - переполнение буфера в коде сопоставления масок в движке обработки регулярных выражений. При обработке специально оформленных строк из многобайтовых символов возможно инициирование краха процесса.
URL: http://sourceware.org/ml/libc-alpha/2013-08/msg00160.html
Новость: http://www.opennet.me/opennews/art.shtml?num=37657
> Glibc является основой большинства Linux-дистрибутивов,
> за исключением OpenWrt, Debian и Ubuntu,Где-то была статистика, что 75% все дистров - это клоны/мутанты/форки Дебиана.
Отседа вывод - glibc является основой не большинства Linux-дистрибутивов. :)
Павлуша, eglibc - это форк glibc. 100% binary compatible.
> eglibc - это форк glibc.Да ты чо, а мужики-то и не знали... http://lwn.net/Articles/333755/
Кстати, glibc уже научилась собираться и тестироваться без bash на борту, с ash/dash?
А зачем?
А наъ^W _зачем_ ?
Может затем, что bash per se стандартом не является, а ash\dash вполне себе реализации posix shell?
Кэп.
>Может затем, что bash per se стандартом не являетсяСтандартом чего? Возможности сборки glibc??? Что за стандарт такой?
Да и если у вас бинарный дистр, каким боком вас будет чесать что glibc требует для сборки?
А если нет, вам что, обломиться баш поставить, лол?
Баше-фобы такие идиоты.
я понимаю что вы слово posix не заметили..
как и вам не привыкать засирать свою систему не нужным софтом, но попробуйте все таки ответить на вопрос - зачем мне bash если везде используется zsh?
и какие такие расширения у bash требуют выхода за стандарты на posix shell ?PS. а ты не выглядишь и,,,,ом оскорбляя других людей ?
Какую "свою", дурик? Ты сборщик glibc?
> Какую "свою", дурик? Ты сборщик glibc?когда собираешь openwrt - собирается в том числе и glibc. являюсь ли я сборщиком glibc?
я конечно понимаю тебя мама с папой не научили основам этикета, но как это просмотрела школа ?!
Ну а чЁ ты не комплэйнишь что для сборки Glibc нужен таки GCC???
"Все ведь мелкомягким визуал_сЁм пользуются ... Ну или питоном там на крайний случай ..."
>Стандартом чего?Ни-че-го. "В этом-то все и дело"(С)
Что происходит при игнорировании стандартов в пользу de facto сложившегося положения вещей все умные люди поняли на примере вебни эпохи ie6.0 - остальные, видимо, предпочитают набивать шишки своим собственным лбом. gcc'измы, bash'измы, glibc'измы - далее везде. А потом "Рафик неуиноуат, оно само... как-то... вот"
Удачи, чО.
Беда с IE была не в том, что он не был стандартом де-юре, а что его особенности нельзя было вопроизвести - ни спецификации, ни кода. С открытым софтом этих проблем нет. Ну и да, +1 build dependency никакой проблемы не представляет.Мне вот интересно - а если б использовался какой-нибудь экзотический билд тул, а не баш - тоже возмущались бы? Что-то мнится мне, что нет.
>Беда с IE была не в том, что он не был стандартом де-юре, а что его особенности нельзя было вопроизвести - ни спецификации, ни кода.Ну, с chrome(um)'ом этих проблем вроде как нет, но радости от webkit*префиксов сообщество что-то как-то не испытывает.
> С открытым софтом этих проблем нет. Ну и да, +1 build dependency никакой проблемы не представляет.Гм. Скажите это мантейнерам centos'а с их регулярными попытками воспроизвести сборочное окружение RH, ага. Тулзой больше, тулзой меньше...
>Мне вот интересно - а если б использовался какой-нибудь экзотический билд тул, а не баш - тоже возмущались бы? Что-то мнится мне, что нет.Гм. А в чем тут повод для возмущения-то?
Грубо говоря, проблема не в том, что вместо гаечного ключа они, сквернавцы, воспользовались отверткой - это целиком и полностью их дело; а в том, что при наличии ГОСТа на "гайку шестигранную" эти ... ... ... пользуются каким-то самопалом с нестандартным диаметром.
> Грубо говоря, проблема не в том, что вместо гаечного ключа они, сквернавцы,
> воспользовались отверткой - это целиком и полностью их дело; а в
> при наличии ГОСТа на "гайку шестигранную" эти ... ...
> ... пользуются каким-то самопалом с нестандартным диаметром.1)
Но и это - "это целиком и полностью их дело"(С)User
2)
Софт открыт и свободен. Если тебя так вщзмущает "что ты кЮщить не можещь!" - пришли разрабам патчи, они я думаю с восторгом их примут.
Зато bash - стандарт де-факто, чтобы там не пели.
> Зато bash - стандарт де-факто, чтобы там не пели.Стандарт среди кого? Так-то стандарт sh/ksh.
>> Зато bash - стандарт де-факто, чтобы там не пели.
> Стандарт среди кого? Так-то стандарт sh/ksh.Стандарт среди кого? У рипнутого вон zsh.
> Стандарт среди кого? У рипнутого вон zsh.Внезапно, в выборе шелла он проявил интеллект, что вообще-то для него несвойственно.
> Стандарт среди кого?Среди линуксов, которые сейчас составляют ~90% никсов.
> Так-то стандарт sh/ksh.
В вымерших породах юниксов? Ну так и "стандарт" вместе с ними вымер.
Ну, вы нашли проблему. glibc собирается ТОЛЬКО с GNU binutils & GCC, например.
Кстати да, Intel CC/Watcom C/шланг нада!
> Павлуша, eglibc - это форк glibc. 100% binary compatible.Мало ли кто там 100% бинарно совместим. А проект отдельный. Который не страдает от причуд чудаков пишущих глибцу, типа дреппера, оравшего что ARM - это, дескать, фигня для мобилок, им не интересна и unsupported by glibc.
>> Павлуша, eglibc - это форк glibc. 100% binary compatible.
> Мало ли кто там 100% бинарно совместим. А проект отдельный. Который не
> страдаетЗато он страдает от речуг сумасшедших чудиков баше-фобов, ггг
Или ты тоже считаешь что негативные PR тоже PR?
> Зато он страдает от речуг сумасшедших чудиков баше-фобов, гггБашефобия - это ок.
Как интерактивный шелл и продвинутый скриптовый язык - он жостко всасывает у zsh.
А легкий и быстрый интерпретатор скриптов, который есть на любых никсах - это sh. Дебианщики это прекрасно поняли, например.
> А легкий и быстрый интерпретатор скриптов, который есть на любых никсах -
> это sh. Дебианщики это прекрасно поняли, например.Вот не надо ля-ля, их кривой как турецкая сабля dash малопригоден в качестве sh по причине возможности поймать грабли в не самых заковыристых местах (я ловил; спрашивал майнтейнера; он сказал, что в апстриме в курсе, развешено, висит). И совсем не годится в качестве интерактивного.
Вот в альте с головой подошли -- bash собран по минимуму как /bin/sh и как /bin/bash -- в приличном виде (хотя и третий по соображениям совместимости, в четвёртом уточнили семантику довольно неоднозначным способом). Хотя в качестве интерактивного zsh подходит ещё лучше, конечно; вот скрипты с применением его особенностей стараюсь не писать, чтоб не закладываться на наличие.
Из _катастрофически_ сломанного в dash только неработающий нормально echo.
На остальное давай ссылки. У этого "мегашела" нет BTS, как я посмотрю.P.S.
Ну что за люди?...
> Из _катастрофически_ сломанного в dash только неработающий нормально echo.
> На остальное давай ссылки. У этого "мегашела" нет BTS, как я посмотрю.За неимением BTS ссылаюсь на обсуждение в жабере с legion@ по мотивам, если не изменяет склероз, какого-то куска в inquisitor (а странности были около while).
Если тебе действительно интересно, откопаю в архиве. Но апстрим, с его слов, про этот баг в курсе.
> типа дреппера, оравшего что ARM - это, дескать, фигня для мобилок,
> им не интересна и unsupported by glibc.Та и где тот дреппер? А где ARM! Тото же :-)
> Та и где тот дреппер? А где ARM! Тото же :-)Заметим для исторической справедливости, дреппер ничего против армов не имел.
Это выдумка одного парнишки, который люто ненавидит glibc и пытается всех убедить, что eglibc - это типа независимый проект.
> Мало ли кто там 100% бинарно совместим. А проект отдельный. Который не
> страдает от причуд чудаков пишущих глибцу, типа дреппера, оравшего что ARM
> - это, дескать, фигня для мобилок, им не интересна и unsupported
> by glibc.Интересно, через пару лет вы будете приписывать дрепперу то же самое и про x86?
> Который не страдает от причуд чудаков пишущих глибцу, типа дреппераУли далече, а на кого ещё жалуетесь?
1). 63%
2). Дистрибутивов, а не компов под линуксом.
>> Glibc является основой большинства Linux-дистрибутивов,
>> за исключением OpenWrt, Debian и Ubuntu,
> Где-то была статистика, что 75% все дистров - это клоны/мутанты/форки Дебиана.
> Отседа вывод - glibc является основой не большинства Linux-дистрибутивов. :)
В списке Contributors отсутствует Ulrich Drepper - печально. Очень печально.
> В списке Contributors отсутствует Ulrich Drepper - печально. Очень печально.Дык давно удо ... и нечё - небо на землю не упало :)
> В списке Contributors отсутствует Ulrich Drepper - печально. Очень печально.Уже несколько лет как не в редхате.
А зачем в C library поддержка C++? А как же libstdc++?
> А зачем в C library поддержка C++? А как же libstdc++?Наверное потому что потоки реализованы в C library, а не в libstdc++.
>Задействование в реализация мьютексов pthread для архитектур i386 и x86-64 аппаратных механизмов проведения транзакций в памяти, представленных в процессорах серии Haswell в форме инструкций HLE (Hardware Lock Elision), входящих в состав набора расширений Intel TSX (Transactional Synchronization Extensions). Внесённое улучшение позволяет увеличить масштабируемость блокировок для существующих программ, при их запуске на системах, поддерживающих расширения TSX.Но ведь HLE работает и на старый процессорах, а поддержка TSX нужна только для RTM
Народ, если Eglibc так хорош, то в зачем использовать glibc?
Не стоит их разделять, код практически един. Для eglibc упрощения для встраиваемых устройств(что то отрезается от общей библиотеки условно говоря). А десктопу в 99.9(9)% случаях нужна полная версия ибо никакой GNOME,KDE,XFCE и другие, не имеют модификаций для embedded!
> Не стоит их разделять, код практически един. Для eglibc упрощения для встраиваемых
> устройств(что то отрезается от общей библиотеки условно говоря). А десктопу в
> 99.9(9)% случаях нужна полная версия ибо никакой GNOME,KDE,XFCE и другие, не
> имеют модификаций для embedded!Из eglibc ничего не вырезано, вы путаете её с uclibc. eglibc наоборот расширена - в ней есть дополнительные возможности для оптимизации в embedded. Во всяком случае, eglibc ничем не хуже, чем glibc на десктопах, а вот лучше ли - это зависит от ситуации.
> Из eglibc ничего не вырезано, вы путаете её с uclibc. eglibc наоборот
> расширена - в ней есть дополнительные возможности для оптимизации в embedded.Оптимизация в embedded - это и есть вырезание))
Тех функций, которые не востребованы на данной задаче.
> Оптимизация в embedded - это и есть вырезаниеЧайниковское мнение - если есть embedded, то что-то отрезали!
1. Лишнее - не есть нужное!
2. Оптимизация кода - не есть урезание!
void *memcpy(void *dst, const void *src, size_t size)
{
void *orig = dst;
asm volatile ("rep ; movsq" : "=D" (dst), "=S"(src) :"0"(dst), "1"(src), "c"(size >> 3) :"memory");
asm volatile ("rep ; movsb" : "=D" (dst), "=S"(src) :"0"(dst), "1"(src), "c"(size & 7) :"memory");return orig;
}бинарный код примерно раз в 15 меньше жлибсшного.
> Народ, если Eglibc так хорош, то в зачем использовать glibc?Дебианщики создали eglibc по причине крайней некооперативности и враждебности апстрима, и вообще склонности ломать все в меру своего самодурства и игнорировать чужие проблемы. Вот так вот просто и печально.
> Дебианщики создали eglibc по причине крайней некооперативности и враждебности апстрима, и вообще склонности ломать все в меру своего самодурства и игнорировать чужие проблемы.Наглое вранье.
Во-первых, eglibc не является дочерним проектом Debian.
Во-вторых, проблем с апстримом ни у кого, кроме адобы, не возникало.
В-третьих, переход на eglibc никаких проблем с апстримом не решил бы, потому что eglibc гарантирует бинарную совместимость с glibc, а значит, обязана повторять все решения апстрима.
В-четевертых, единственной мотивацией Debian для перехода был, как ни странно, единственный бонус eglibc - возможность собирать урезанные версии для встраиваемых систем.
>Народ, если Eglibc так хорош, то в зачем использовать glibc?Миша РыцаревЪ ? :)
Интересно, а в GnewSense гнушники glibc запилили?
>GNU C Library
>C++11Что-то здесь не так
А в чем проблема? Просто сделали куски, нужные для вменяемое реализации плюсовых потоков
А почему здесь нет чела который писал, что Си-рантайм это что то типа говна мамонта, и что никому ненужно, ибо есть "ещё более новые технологии", и ему не ставят кучу плюсов, а мне минусов?
Может, он сегодня таблетки не забыл принять?
Этот чел я и он писал, что многие особенности в Си остались от PDP-11 архитектуры. Причем писал в ответ на твой бред о том, что надо сделать современные процессоры более совместимым с Си рантаймом, тем самым отмотав время на несколько десятков лет назад и вернувшись к уже пройденному этапу просто потому, что в каком-то языке осталось немного legacy от старой архитектуры, которая никого, кроме тебя не волнует.
> Этот чел я и он писал, что многие особенности в Си остались
> от PDP-11 архитектуры. Причем писал в ответ на твой бред о
> том, что надо сделать современные процессоры более совместимым с Си рантаймом,
> тем самым отмотав время на несколько десятков лет назад и вернувшись
> к уже пройденному этапу просто потому, что в каком-то языке осталось
> немного legacy от старой архитектуры, которая никого, кроме тебя не волнует.А если бы и волновало многих, следовало бы перейди на новый язык с более подходящим рантаймом, отбросив legacy, а не вспоминать, как там 40 лет назад компьютеры делались.
> А если бы и волновало многих, следовало бы перейди на новый язык
> с более подходящим рантаймом, отбросив legacy, а не вспоминать, как там
> 40 лет назад компьютеры делались.Технические преимущества - ничто, традиции - все! Не дай себе меняться!
> Технические преимущества - ничто, традиции - все! Не дай себе меняться!Пока вы будете "меняться", другие будут работать и "зарабатывать бабки", делая это быстро, легко и непринуждённо, закрывая один заказ за другим.
> Пока вы будете "меняться", другие будут работать и "зарабатывать бабки", делая это быстро, легко и непринуждённо, закрывая один заказ за другим.Лучше всего "зарабатывают бабки" как раз те, кто меняется.
А гогна мамонта могут держаться на рынке только за счет такой же мамонтовой аудитории, которую _привычка_ к конкретной технологии держит сильнее, чем двадцать вендорлоков.
> Лучше всего "зарабатывают бабки" как раз те, кто меняется.Об этом особенно ярко написал бывший сотрудник Microsoft, организовавший свою компанию -- некий Спольски.
---
Другой лагерь назван мною лагерем журнала MSDN: по имени журнала для разработчиков, полного увлекательных статей обо всех способах отстрела собственной ноги при помощи продуктов Microsoft и собственного программного обеспечения. Лагерь журнала MSDN всегда пытается убедить вас применять новые и сложные внешние технологии, такие как COM+, MSMQ, MSDE, Microsoft Office, Internet Explorer и его компоненты, MSXML, DirectX (пожалуйста, самую последнюю версию), Windows Media Player и Sharepoint... Sharepoint! У кого он есть? Пышный наряд внешних зависимостей, каждая станет причиной сильнейшей головной боли, когда вы отправите ваше приложение заплатившему вам деньги клиенту, а оно откажется работать. Техническое имя этому – ад DLL. Это работает здесь: почему оно не работает там?
[...]
И если вы сегодня при разработке графических приложений под Windows используете «официальную» свежайшую и величайшую библиотеку WinForms от Microsoft, то через два года для обеспечения совместимости с Longhorn and Avalon вам придется начать заново. Что и объясняет, почему WinForms полностью мертворожденный проект. Надеюсь, вы не потратили на него много денег. Джон Уделл нашел плакат от Microsoft, озаглавленный «Как мне выбрать между WinForms и Avalon?», и спрашивает: «почему я должен выбирать между WinForms и Avalon?». Хороший вопрос, на который он не находит хорошего ответа.
--- http://russian.joelonsoftware.com/articles/howmicrosoftlostt... или оригинал на http://www.joelonsoftware.com/articles/APIWar.htmlЕсли вам это на втором курсе ещё непонятно (и ведь M$ в такое носом не ткнёт) -- ну что ж, попробуем, вдруг рассол поможет.
Хорошо. А что вы относите к легаси? Операции копирования, перемещения, выделения памяти, операции со строками, мат. функции, циклы, сортировки, поиски, списки, может операции с битами в конце концов?
Встречный вопрос: а что именно вы хотите из С-рантайма реализовать на аппаратном уровне в архитектуре процессора?
> А почему здесь нет чела который писал, что Си-рантайм это что то
> типа гoвна мамонта,Наверное потому что он не придумал чем его заменить и вынужден грызть данный "гранит" :)
>> А почему здесь нет чела который писал, что Си-рантайм это что то
>> типа гoвна мамонта,
> Наверное потому что он не придумал чем его заменить и вынужден грызть
> данный "гранит" :)Си - не бог весть какой гранит. Это ж не монструозные плюсы.
> Си - не бог весть какой гранит. Это ж не монструозные плюсы.Сложно сделать просто, но просто сделать сложно. (С)Кэп
Какую мысль эта фраза выражает в контексте обсуждения сложности изучения Си-рантайма определенным индивидом?
Видимо, она намекает, что большинству погроммистов сишный рантайм лучше все-таки не учить.