glibc и феерический звездец
itman — 31.03.2011
Похоже, что разработчики glibc действительно заслуживают всех
"теплых" слов, которые адресуют в их адрес. Подробности этого дела
расписаны у Аввы.
Вкратце суть такова: функция memcpy(dst, src, size) в языке Си
нельзя использовать, если регионы памяти, которые задаются
указателями dst и src пересекаются. Правда жизни заключается в том,
что абсолютное большинство реализаций начинает копирование с
первого байта src в порядке возрастания адреса. Если dst < src,
то такая реализация всегда корректно отрабатывает копирование и не
портит память, даже для пересекающихся регионов памяти. Так
вот, написано огромное количество софта, которое по ошибке
"заложилось" на это предположение. Когда разработчики glibc
поменяли код memcpy, то они поломали кучу приложений. Им об этом
рассказал сам Линус и попросил поправить (весьма настойчиво). На
что разработчики glibc послали всех в эротическое путешествие и
сказали, что все разработчики приложений, некорректно использующие
memcpy должны поправить свои коды! Моя в шоке.UPDATE: хороший, кстати, пример "оптимизаций", которые оптимизируют в одном проценте случаев, а в 99 процентах портят кровь разработчикам.
|
|
</> |
Тихий и чистый город: как EV-революция изменит улицы, парковки и энергосистему
Каркодила конечно большая...
Как пройти в библиотеку?
Кама 1 декабря
А снег идет, а снег идет, и все вокруг чего-то ждет... 21.12.2025
Пространство альтернативных реальностей
Сферы влияния России
Железнодорожное. Вокзал
Личности в колоде карт

