The OpenNET Project / Index page

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

В DNS-сервере BIND устранен серьёзный сбой, возникший из-за изменений в оптимизаторе GCC

13.06.2014 08:53

Доступны корректирующие выпуски DNS-сервера BIND 9.10.0-P2, 9.9.5-P1 и 9.8.7-P1, в которых устранена серия уязвимостей и решена проблема, способная привести к краху процесса в непредсказуемые моменты обработки запросов. Примечательно, что проблема проявляется только при сборке с использованием GCC 4.9.0 и более новых выпусков и вызвана изменением работы оптимизатора GCC. В частности, начиная с GCC 4.9 по умолчанию включается режим удаления лишних операций сравнения с указателями NULL, при использовании которого из-за удаления из кода важных для работы проверок в BIND начинают проявляться непредсказуемые проблемы в работе. Для решения проблемы следует обеспечить сборку BIND с опцией "CFLAGS=-fno-delete-null-pointer-checks".

Кроме отмеченной проблемы, в новых выпусках устранена порция DoS-уязвимостей:

  • CVE-2014-3859 (только BIND 9.10) - крах при обработке специально оформленных EDNS-пакетов (механизм работы с пакетами, размером более 512 байт);
  • CVE-2014-3214 (только BIND 9.10) - крах в процессе использования технологии prefetch;
  • CVE-2013-6230 (только BIND 9.9) - ошибочный расчёт нулевых масок в localnets acl на платформе Windows;
  • CVE 2014-0591 (только BIND 9.9) - крах при обработке некоторых подписанных зон NSEC3.


  1. Главная ссылка к новости (http://permalink.gmane.org/gma...)
  2. OpenNews: Релиз DNS-сервера BIND 9.10
  3. OpenNews: Новый выпуск DNS-сервера Knot DNS 1.4.4
  4. OpenNews: Увидел свет DNS-сервер BIND 9.9.5
  5. OpenNews: Релиз DNS-сервера NSD 4.0
  6. OpenNews: Выпуск DNS-сервера BIND 10 1.2.0 ознаменовал передачу проекта сообществу
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39992-dns
Ключевые слова: dns, bind, edns
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (325) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, АнониМ (ok), 09:03, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >удаления лишних операций сравнения с указателями NULL,
    >при использовании которого из-за удаления из кода важных для работы проверок в BIND начинают проявляться непредсказуемые проблемы в работе.

    я чего-то не понял - это баг гцц ? Или как лишние сравнения, могут одновременно  важными?

     
     
  • 2.14, рлрлро (?), 11:53, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    volatile
     
     
  • 3.35, 0xd34df00d (??), 15:40, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Оптимизатор не удалит. Ну или тогда это баг в gcc, да.
     
  • 2.115, arisu (ok), 13:30, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > я чего-то не понял - это баг гцц ? Или как лишние
    > сравнения, могут одновременно  важными?

    очень просто: стандарты не читай @ на си пиляй!

    стандарт, в котором есть подобные UB, конечно, куча дурнопахнущего гуано, а не стандарт, но раз уж выбрали такой язык — соблюдайте.

    если компилятор удалил проверку и «всё пропало, шеф, всё пропало!» — то это 99.(9)% вероятность не ошибки в компиляторе, а того, что на вход компилятору подали некорректный говнокод, полагающийся на то, что UB совсем не UB.

     

  • 1.2, Аноним (-), 09:16, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    > режим удаления лишних операций сравнения с указателями NULL

    Какая чудесная оптимизация.

     
     
  • 2.8, YetAnotherOnanym (ok), 10:54, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Модные мальчики пробрались в команду GCC.
     
     
  • 3.45, Аноним (-), 16:54, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Это нормальная оптимизация. И, как правильно сказали выше, ломается на ней именно [censored]код.
     
     
  • 4.132, YetAnotherOnanym (ok), 16:37, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Если кода не очень много - чтобы его мог вычитать и вылизать один человек (или несколько достаточно близко контактирующих) - тогда да. А когда контрибутит большое сообщество, плюс либы от третьей стороны - прилететь может всё что угодно, поэтому проверять данные надо.
    Переформулирую - код, который ты не вычитал сам, считай априори [censored]кодом, и допускай, что на выходе от него можно получить значение NULL там, где оно не может быть NULL.
     
     
  • 5.265, Аноним (-), 16:07, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    man "code review"

    Во всех крупных свободных проектах. Если вы не применяете — никто вам не виноват.

     
     
  • 6.321, YetAnotherOnanym (ok), 11:54, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ладно, предположим, проверил я код всех сторонних либ, которые юзает мой проект. Нашёл "недоработку". Отправил багрепорт, может быть даже с патчем. А тот проект пилит один анонимус в своё свободное время, и реакции на багрепорт - никакой. Если я знаю, что везде, где мой софт будет использоваться, стоит эта либа с непофиксенным багом, из-за которого может прилететь NULL где не надо, что делать? Форкать либу и пропихивать свой форк в дистрибы? Включать в тарбол её исходники со своим фиксом? Я всё-таки выберу поставить в нескольких местах проверку на NULL, пусть это и не согласуется с чьими-то представлениями о красоте.
     
     
  • 7.324, arisu (ok), 13:29, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    для начала — прекратить использовать неподдерживаемые библиотеки. как раз потому, что в них никто не чинит баги.

    впрочем, говнокодеры о таких нюансах никогда не думают, хватают первое попавшееся и радуются. недолго, правда.

     
     
  • 8.327, rob pike (?), 15:54, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Главное - заранее угадать какая библиотека станет неподдерживаемой завтра Опыт ... текст свёрнут, показать
     
     
  • 9.328, arisu (ok), 16:31, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не так уж и сложно, на самом деле ... текст свёрнут, показать
     
  • 2.36, 0xd34df00d (??), 15:43, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> режим удаления лишних операций сравнения с указателями NULL
    > Какая чудесная оптимизация.

    Нормальная оптимизация.

    Foo *foo = ...
    foo->bar;
    if (foo) ...;

    Вот последнюю проверку компилятор вполне имеет право удалить, ибо foo не может быть нулём, тогда foo->bar было бы обращением по нулевому указателю, а это UB, и компилятор волен обрабатывать как хочет. Делать вид, что обращений по нулевому указателю не бывает, например, и, следовательно, foo всегда не ноль.

     
     
  • 3.46, Vkni (ok), 16:59, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Вот последнюю проверку компилятор вполне имеет право удалить

    В мире эльфов - да. Всё-таки, вера в то, что компилятору не придётся обрабатывать код с ошибками, в высшей степени наивна.

     
     
  • 4.53, 0xd34df00d (??), 17:21, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В мире эльфов - да. Всё-таки, вера в то, что компилятору не
    > придётся обрабатывать код с ошибками, в высшей степени наивна.

    Есть баланс между толерантностью к ошибкам и качеством оптимизации. Включаешь оптимизатор — будь готов к тому, что кривой код он не простит.

    Ну и статический анализ специально для этого придумали. clang'овский static-analyzer такие вещи отлично находит.

     
     
  • 5.58, Vkni (ok), 18:53, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Есть баланс между толерантностью к ошибкам и качеством оптимизации. Включаешь оптимизатор — будь готов к тому, что кривой код он не простит.

    Ну так -O3 уже никто и не включает. Или пацаны хотят добиться, что и -O2 включать не будут?

    Баланс, разумеется есть, но gcc регулярно шагает за баланс в сторону оптимизации. Нижеприведённый код qsort в стандарт был введён в 1999 году, а на C писали и до этого года. Т.е. оптимизация ярковыраженно ломает нормальный код, написанный 20 лет назад.

    Причём, как это обычно у gccшников, без объявления войны. Хотя бы предупреждения о выбрасывании кода можно было выкинуть. Ну, типа unreachable code.

     
     
  • 6.59, 0xd34df00d (??), 19:00, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Включаю -O3 в продакшене на корректно написанном коде, брат жив Есть у меня оди... большой текст свёрнут, показать
     
     
  • 7.60, Vkni (ok), 19:12, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я очень рад за вас и вашего брата Но таки вы - исключение Стандартные флаги оп... большой текст свёрнут, показать
     
     
  • 8.61, 0xd34df00d (??), 19:17, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, это дело другое, и я бы на самом деле поспорил, что дело именно в ломающем к... большой текст свёрнут, показать
     
     
  • 9.62, Vkni (ok), 19:31, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А в чём ещё Какой смысл ставить -O2, если -O3 быстрее и не ломает код Ну доста... большой текст свёрнут, показать
     
     
  • 10.63, 0xd34df00d (??), 19:37, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не всегда быстрее Например, слишком агрессивное развёртывание циклов или инлайн... большой текст свёрнут, показать
     
  • 7.96, pv47 (ok), 22:31, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Есть у меня один знакомый, который как раз поэтому gcc и обожает,
    > что там код работает на 5-10% быстрее, чем в clang, как
    > правило.

    если код твоего знакомого работает на 10% быстрее в gcc, чем в шланге, за счёт таких оптимизаций, то у меня для него плохие новости: у него в коде куча лишних проверок, которые он почему-то не выкинул сам. наверное, это как раз тот случай, когда компилятор умнее человека.

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

     
     
  • 8.98, 0xd34df00d (??), 22:33, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не код моего знакомого Он всякими там povray бенчмаркает Нечем тут гордиться ... текст свёрнут, показать
     
  • 8.118, arisu (ok), 13:36, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    вышепроцитированное 8212 реакция школоты на assert ы, например ... текст свёрнут, показать
     
  • 8.131, Reinar (ok), 16:36, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если код работает на 10 быстрее после выкидывания лишних проверок, то этот ко... текст свёрнут, показать
     
  • 7.245, Demo (??), 23:54, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    $ traceroute 0xd34df00d
    traceroute to 0xd34df00d (211.77.240.13) 211-77-240-13.adsl.fetnet.net
    ...
    10  h33-192-72-155.seed.net.tw (192.72.155.33)  320.941 ms
    ...
     
     
  • 8.247, 0xd34df00d (??), 00:00, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    0xd34df00d me трейсить надо ... текст свёрнут, показать
     
  • 6.117, arisu (ok), 13:32, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну так -O3 уже никто и не включает. Или пацаны хотят добиться,
    > что и -O2 включать не будут?

    пацаны хотят, чтобы говнокодеры документацию читали сначала.

    уж от тебя-то я не ожидал такой позиции.

     
  • 6.266, Аноним (-), 16:08, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Причём, как это обычно у gccшников, без объявления войны. Хотя бы предупреждения
    > о выбрасывании кода можно было выкинуть. Ну, типа unreachable code.

    Release Notes к gcc 4.9 почитайте. И Porting to, если вам мало.

     
  • 4.109, Anonym2 (?), 01:46, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> Вот последнюю проверку компилятор вполне имеет право удалить
    > В мире эльфов - да. Всё-таки, вера в то, что компилятору не
    > придётся обрабатывать код с ошибками, в высшей степени наивна.

    И разработчики GCC вряд ли страдают этой верой.
    Кстати, foo->bar компилятор тоже вправе удалить... >:-)

     
  • 4.116, arisu (ok), 13:31, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Вот последнюю проверку компилятор вполне имеет право удалить
    > В мире эльфов - да. Всё-таки, вера в то, что компилятору не
    > придётся обрабатывать код с ошибками, в высшей степени наивна.

    для идиотов есть режим -O0. в документации по gcc ясно написано, что корректность выхлопа оптимизатора гарантируется *только* для корректных программ. если авторы подсунули компилятору говнокод, то они сами и виноваты.

     
     
  • 5.296, КО (?), 11:44, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > корректность выхлопа оптимизатора гарантируется *только* для корректных программ

    if (a) {
       mtx.lock();
        if (a) {  // явно же лишняя проверка - только что проверили.

     
     
  • 6.298, arisu (ok), 11:53, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> корректность выхлопа оптимизатора гарантируется *только* для корректных программ
    >  if (a) {
    >    mtx.lock();
    >     if (a) {  // явно же лишняя
    > проверка - только что проверили.

    конечно, лишняя. если ты меняешь переменную из разных потоков и не объявил её volatile — ты идиот, а твой код говно.

    такие дела.

     
     
  • 7.305, 0xd34df00d (ok), 17:40, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>> корректность выхлопа оптимизатора гарантируется *только* для корректных программ
    >>  if (a) {
    >>    mtx.lock();
    >>     if (a) {  // явно же лишняя
    >> проверка - только что проверили.
    > конечно, лишняя. если ты меняешь переменную из разных потоков и не объявил
    > её volatile — ты идиот, а твой код говно.

    Не всё так просто, см. страницу 7 здесь: http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf

    Правда, то в приложении к синглтонам.

     
     
  • 8.307, arisu (ok), 20:43, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    да, я в курсе, что volatile 8212 не такая уж простая и лёгкая штука ну, и we... текст свёрнут, показать
     
  • 6.299, arisu (ok), 11:54, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    p.s. да, компилятор имеет право проанализировать метод lock(), увидеть, что a там не меняется и выкинуть проверку нафиг.
     
  • 6.304, 0xd34df00d (??), 17:37, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >  if (a) {
    >    mtx.lock();
    >     if (a) {  // явно же лишняя
    > проверка - только что проверили.

    Ну так в C++ до 11 не было memory model, машина представлялась однопоточной. Это уже проблема языка и стандарта, а не компилятора.

     

     ....большая нить свёрнута, показать (33)

  • 1.3, Аноним (-), 09:18, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    премию обратно не отдадут =D
     
     
  • 2.6, freehck (ok), 10:26, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Премия-то - 2500$. Деньжища-то какие. ;)
     

  • 1.4, Аноним (-), 09:37, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я не понял, если это баг гцц, где патч? а если баг бинда, зафига этот костыль, вместо приведения кода в порядок?
     
     
  • 2.5, Аноним (-), 09:57, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это похоже на универсальную закладку. Чтобы даже если программист все дыры закроет нужными проверками, всё равно в исполняемом файле дырочки бы остались.
     
     
  • 3.21, Аноним (-), 14:06, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Это похоже на универсальную закладку. Чтобы даже если программист все дыры закроет
    > нужными проверками, всё равно в исполняемом файле дырочки бы остались.

    Нет, это для удобства программиста, желающего поставить бэкдор. Написал volatile - и оппа, сразу дырочка, хотя формально проверка есть.

     
     
  • 4.65, Аноним (-), 20:16, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Написал volatile - и оппа, сразу дырочка,

    Вы там с головой в дружбе? Volatile как раз наоборот запрещает компилеру optimize out то что по его мнению можно выбросить, т.к. явно хинтит что помеченное как volatile может изменяться или использоваться неожиданным для компилятора образом и соответственно выбрасывать это ни в коем случае нельзя.

     
  • 2.13, рлрлро (?), 11:52, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это не баг, просто компилятор не может, по компилируемому куску кода, самостоятельно определить, что эти переменные могут принять значение NULL. Почитай про ключевое слово volatile.
     
     
  • 3.26, Пиу (ok), 14:22, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >volatile

    откуда инфа, что виновато volatile? можно ссылочку? (ищу диффы, не могу найти)

     
     
  • 4.40, Аноним (-), 16:31, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Volatile не "виновато" а всего лишь указывает компилеру что переменная может изменяться неожиданным для него образом (в эмбедовке, например, обработчик прерывания может сильно сбоку туда что-то записать, etc) и что данную переменную по этому поводу нельзя удалять в целях оптимизации, даже если все выглядит так как будто она не используется.
     
  • 3.54, pv47 (ok), 17:32, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > компилятор не может, по компилируемому куску кода, самостоятельно определить, что эти переменные могут принять значение NULL

    и поэтому удаляет код, который явно проверяет это и написан программистом, который МОЖЕТ это сделать самостоятельно. браво.

     
     
  • 4.106, Ordu (ok), 23:31, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как факт, замечу, что программист не всегда это делает Допустим есть функция s... большой текст свёрнут, показать
     
     
  • 5.107, pv47 (ok), 00:17, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я об этом как-то не подумал хотя, ваш пример носит другой характер В вашем с... большой текст свёрнут, показать
     
     
  • 6.113, Xasd (ok), 04:16, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > идеальным вариантом стала бы поддержка какого-нибудь -fno-optimize-undefined-behavior, который бы просто не оптимизировал подобные сомнительные случаи ...

    где ты *сомнительный* случай нашёл?

    если программист сделал для структуры (foo)




    x = foo->bar
    // other code


    значит компилятор *БЕЗ* каких либо сомнений знает что foo всегда != 0.

     
  • 6.119, arisu (ok), 13:38, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > ИМХО, идеальным вариантом стала бы поддержка какого-нибудь -fno-optimize-undefined-behavior,
    > который бы просто не оптимизировал подобные сомнительные случаи, т.е. перекладывал бы
    > "неопределённое поведение" на процессор и библиотечные функции.

    есть такой ключ! -O0!

     
  • 5.108, eganru (?), 01:09, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    по Вашему ассемблер так вообще для слабаков.
     
  • 5.283, Аноним (-), 09:15, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >     return str ? str[0] : -1;

    А это вообще нормально - возвращать str[0] который char как знаковый int? Нет, си конечно по факту так позволяет. Но, как бы это сказать, неаккуратненько...

     
     
  • 6.301, arisu (ok), 12:04, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А это вообще нормально - возвращать str[0] который char как знаковый int?

    нормально, говнокодеры говорят малацца.

     
  • 6.308, Ordu (ok), 21:47, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>     return str ? str[0] : -1;
    > А это вообще нормально - возвращать str[0] который char как знаковый int?
    > Нет, си конечно по факту так позволяет. Но, как бы это
    > сказать, неаккуратненько...

    Ты знаешь назначение функции first? Видишь ли, при ней нет документационного комментария, поэтому я не знаю, для чего она вообще нужна. Если ты знаешь, расскажи мне, и мы обсудим, насколько уместно возвращение str[0].

     
     
  • 7.309, arisu (ok), 22:18, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    нинасколько, потому что никакой разумной причины возвращать или str[0] или -1 нет, ибо -1 входит во множество значений char. неразумных же причин можно выдумать много, но все они могут возникнуть только в говнокоде.
     
     
  • 8.310, Ordu (ok), 22:55, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Отлично Тогда я предлагаю переписать тот примерчик, дабы продемонстрировать опт... текст свёрнут, показать
     
  • 6.343, Crazy Alex (ok), 15:33, 22/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А что тут ненормального? Архитектур, где sizeof(char)==sizeof(int) уже и не осталось, разве что контроллеры какие-то. А для обычного рядового кода char, даже если он unsigned, в signed int поместится гарантированно.
     
     
  • 7.345, arisu (ok), 21:30, 22/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А что тут ненормального?

    как я уже писал, ненормально тут то, что -1 — валидное значение для char, который по умолчанию signed. как этот код ни переписывай, он изначально говнокод, потому что использует для исключительной ситуации код возврата, который может появиться и без исключительной ситуации. у программиста при виде этого в голове ревёт сирена. сразу. вне зависимости от того, может ли во входном потоке встретиться \xff — если это никак не проверяется, и даже комментария нет, то может, и встретится, и всё сломается.

    это как не проверять результат malloc'а: глаз мгновенно спотыкается, а руки автоматически тянутся вставить хотя бы проверку с abort'ом.

     
     
  • 8.346, 0xd34df00d (??), 21:31, 22/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, знаковость char зависит от платформы ... текст свёрнут, показать
     
     
  • 9.347, arisu (ok), 21:59, 22/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    на большинстве платформ у большинства компиляторов char по 8208 умолчанию знако... текст свёрнут, показать
     

  • 1.7, Аноним (-), 10:35, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    clang пусть используют
     
     
  • 2.9, YetAnotherOnanym (ok), 10:56, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > clang пусть используют

    Порождение клятiх яблочников и вообще неправославно.

     
     
  • 3.17, Аноним (-), 13:09, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    яблочники делали предложение команде gcc по обьединению
     
     
  • 4.18, Аноним (-), 13:12, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –4 +/
    А до этого делали предложение Столлману идти ***** со своей GPL v3 и, что характерно, Линус тоже не перешел.
     
     
  • 5.20, Аноним (-), 14:05, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > Линус тоже не перешел.

    Гражданин судья, а он не может перейти! :)

    Для перехода ядра на GPLv3 нужно получить согласие у всех авторов коммитов в ядро за всю его историю. Долететь до Альфы Центавра будет быстрее и проще.

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

  • 7.66, Аноним (-), 20:18, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Что за милая, чудесная, универсальная GPLv3, не правда ли? Ну и ее
    > предшественница - так-то не сильно лучше.

    Если бы некоторые не очень хорошие личности не находили лазейки в GPLv2 то и GPLv3 не требовался бы. Скажем тивоизаторам и прочим мошенникам спасибо, хренли. Как известно, если в законе закручивают гайки, этому обычно предшествует абуз какой-то фичи до состояния когда спокойно жить становится невозможно.

     
     
  • 8.133, Michael Shigorin (ok), 18:08, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это был новый некрософт-батыр Мозгом не оснащён, дискутировать бесполезно, зач... текст свёрнут, показать
     
     
  • 9.284, Аноним (-), 09:17, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот, блин, опять меня бот на дискуссию развел ... текст свёрнут, показать
     
  • 7.111, Куяврег (?), 02:28, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    я таки не понял, вам нравится, что GPLv3 требует согласия всех авторов или нет?
     
     
  • 8.114, Аноним (-), 05:37, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мы просто найдем аналоги без GPL... текст свёрнут, показать
     
     
  • 9.120, arisu (ok), 13:40, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    вперёд не понятно только, зачем 171 вы 187 при этом лезете в обсуждения gpl... текст свёрнут, показать
     
  • 9.285, Аноним (-), 09:18, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, аналог линевому кернелу уж так искали, так искали Только даже опач и яху за... текст свёрнут, показать
     
  • 5.121, arisu (ok), 13:41, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А до этого делали предложение Столлману идти ***** со своей GPL v3

    если у таких отпетых проприерастов, как огрызок, GPLv3 вызывает настолько большие анальные неудобства, то это лишний раз доказывает, что GPLv3 хорошая.

     
  • 4.41, Аноним (-), 16:38, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > яблочники делали предложение команде gcc по обьединению

    Да, особенно хорошо все это заметно на примере swift, где они вообще не знают будет ли это опенсорсным. А оно надо - с такими объединяться?

     

  • 1.10, YetAnotherOnanym (ok), 11:05, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Представляю, какое богатство лексикона продемонстрирует Линус, если выяснится, что ядро, собранное новым GCC ведёт себя не так, как должно.
     
     
  • 2.122, arisu (ok), 13:42, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Представляю, какое богатство лексикона продемонстрирует Линус, если выяснится, что ядро,
    > собранное новым GCC ведёт себя не так, как должно.

    и по делу, само собой. то есть, напрямую тем идиотам, которые закомитили код, полагающийся на UB.

     

  • 1.11, Аноним (-), 11:23, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Правильный баг, вместо выполнения кода вылетает приложение :)
     
  • 1.15, Xaionaro (ok), 12:55, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Просто не нужно собирать критические программы с помощью gcc версии x.y.0.
     
     
  • 2.16, Аноним (-), 13:09, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну кто-то Арч юзает, не в продакшне конечно, но все-таки неприятно.
     
     
  • 3.22, Аноним (-), 14:07, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну кто-то Арч юзает, не в продакшне конечно, но все-таки неприятно.

    А википедия вообще на убунте :)

     
     
  • 4.24, Аноним (-), 14:18, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да много кто на убунте, на самом деле. На 14.04 все-таки 4.8.х используется, 4.9 опционально.
     
     
  • 5.28, Аноним (-), 14:42, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На самом деле, в убунте много других поводов для веселья.
     
     
  • 6.30, Аноним (-), 14:55, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В Убунту на серваках зато гигантское комьюнити. И если не хочешь придумывать велосипеды и тестировать их у себя в продакшне,то это сейчас неплохой выбор, особенно если все завязано на средства автоматизации типа чефа, паппета и т.д, где есть куча всего готового именно под Убунту.
    Сам, скрипя сердцем, в собственных поделках стал использовать Убунту вместо Опенсюзи из-за этого где-то год назад. :(
     
     
  • 7.39, Аноним (-), 16:24, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > В Убунту на серваках зато гигантское комьюнити.

    К сожалению, произведение количества участников коммьюнити на их средний уровень профессионализма - величина постоянная. Иными словами, чем больше коммьюнити - тем ниже уровень технической грамотности в нем.

     
  • 6.42, Аноним (-), 16:39, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > На самом деле, в убунте много других поводов для веселья.

    А в чем они состоят? А то у меня на ряде серверов она пашет уже пятый год. Проблем - ноль.

     
  • 2.34, bircoph (ok), 15:26, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не нужно писать код, не соответствующий стандартам:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61236#c8
    И всё будет хорошо.

    The glibc prototype for qsort is:
    extern void qsort (void *__base, size_t __nmemb, size_t __size,
                       __compar_fn_t __compar) __nonnull ((1, 4));
    therefore when you pass x to it, gcc derives from that that x must not be NULL.
    As ISO C99 says that qsort sorts an array of nmemb objects, I'd say the glibc prototype is correct and therefore BIND is buggy, because NULL is not an address of any object.

     
     
  • 3.47, Vkni (ok), 17:01, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Не нужно писать код, не соответствующий стандартам

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

    Ну и, я так понимаю, с точки зрения авторов GCC до 1999 года код на языке Цэ не писали.

     
     
  • 4.64, mine (ok), 20:09, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Очевидно, что код до 99 года компилировали другими версиями GCC.

    И потом, хочешь оптимизаций - пиши по стандартам, хочешь писать как угодно, не проси компилятор исправлять твой говнокод.

     
     
  • 5.70, Vkni (ok), 20:49, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Очевидно, что код до 99 года компилировали другими версиями GCC.

    Очевидно, компилятор языка с полувековой историей имеет определённые обязательства по поддержанию совместимости.

    > И потом, хочешь оптимизаций - пиши по стандартам, хочешь писать как угодно,
    > не проси компилятор исправлять твой говнокод.

    Солнце, до 99-го года этого стандарта не было.

     
     
  • 6.82, Аноним (-), 21:46, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а так же генерировать максимально быстрый код.
    Разработчики предпочти второе.
     
     
  • 7.92, Vkni (ok), 22:21, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > а так же генерировать максимально быстрый код.
    > Разработчики предпочти второе.

    Всегда можно сгенерировать мгновенно выполняющийся нерабочий код. :-)

     
     
  • 8.286, Аноним (-), 09:21, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    return 0 Очень быстрый код Компилер неплохо оптимизнет, наверное ... текст свёрнут, показать
     
  • 6.104, mine (ok), 23:07, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну так для совместимости есть специальные ключи. А если декларируется C99, то о чём речь?
     
     
  • 7.105, Vkni (ok), 23:14, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Ну так для совместимости есть специальные ключи. А если декларируется C99, то
    > о чём речь?

    О том, что лучше не плодить несовместимость на ровном месте.

     
  • 4.124, arisu (ok), 13:44, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и, я так понимаю, с точки зрения авторов GCC до 1999
    > года код на языке Цэ не писали.

    какое отношение авторы gcc имеют к glibc? ты что, перепил вчера, что ли?

     
  • 2.123, arisu (ok), 13:43, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто не нужно собирать критические программы с помощью gcc версии x.y.0.

    собираю, брат жив, батя грит малацца.

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

     

  • 1.19, Аноним (-), 14:02, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как компилятор мог сломать программу?
    И какой самый без ошибок? Clang?
     
     
  • 2.37, 0xd34df00d (??), 15:45, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Как компилятор мог сломать программу?
    > И какой самый без ошибок? Clang?

    Кланг, при всей моей любви к нему, тоже обожает подобные оптимизации.

     
  • 2.43, Аноним (-), 16:44, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И какой самый без ошибок? Clang?

    Clang? Без ошибок? Б$%, это ты не видел что LLVM вытворяет при сборке шейдеров для AMDшного драйвера. Там вообще адов багодром и полный сталинград. По милости этого глюкала постоянно вылетают программы которые им пользуются. Вообще, хорошее поведение для либы - не сообщить наверх "ну не смогла я, не смогла!" а просто вылететь нафиг, срубив при этом всю программу. Это в лучшем случае. В хучшем это гуано выдаст некорректный код который повесит GPU, что доставит много радости юзверю за монитором :)

     

  • 1.25, Нанобот (ok), 14:22, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    дооптимизировались. "режим удаления лишних операций" теперь удаляет не только лишние операции, но и нужные.
    фтопку такой компилятор, который собирает не тот код, который написал программист, а тот, который, по его мнению, хотел написать программист
     
     
  • 2.29, Аноним (-), 14:44, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > фтoпку такой компилятор, который собирает не тот код, который написал программист, а
    > тот, который, по его мнению, хотел написать программист

    А других нынче и нет.
    Точнее, есть, но они используются только для узкоспецифичных задач.

     
  • 2.44, Аноним (-), 16:46, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > тот, который, по его мнению, хотел написать программист

    Ну тогда используйте компиляторы без оптимизаторов. Ну там tiny c compiler какой-нибудь. Правда, качество кодогенерации вам не понравится...

     
  • 2.125, arisu (ok), 13:45, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > дооптимизировались. "режим удаления лишних операций" теперь удаляет не только лишние операции,
    > но и нужные.

    нет, только лишние. а вот почему дебилы, которые даже не удосуживаются выучить язык, на котором пишут, называют себя «программисты» — это уже другой вопрос.

     

  • 1.27, Пиу (ok), 14:34, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    короче говоря, вот ссылка на gcc'шную багзиллу: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61236 (Status: RESOLVED INVALID)

    суть в том, что в qsort передается переменная-указатель, которая может быть NULL'ом.
    с другой стороны эта функция промаркирована в glibc как такая, которая не может принимать NULL на входе (что соответствует стандарту). из этих соображений, gcc выводит, что в переменной не может быть NULL и убирает проверки.

    обещают в gcc 4.10.0 вывод предупреждения на подобные случаи

     
     
  • 2.31, Crazy Alex (ok), 14:55, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Вывод - в glibc такое assert'ами прикрывать надо. В более продвинутых языках  он бы даже автоматом сгенерировался из атрибута nonnull, кстати. Наглядный пример неудобств слабой типизации сей.
     
     
  • 3.38, Аноним (-), 15:49, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Вывод - в glibc такое assert'ами прикрывать надо.

    К.О. напоминает, что релизных сборках assert-ы не работают.

     
     
  • 4.55, pv47 (ok), 17:36, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > К.О. напоминает, что релизных сборках assert-ы не работают.

    у людей, пишущих на "более продвинутых языках", любая сборка по определению отладочная.

     
     
  • 5.81, Аноним (-), 21:44, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это в тех где все тормозит и ждет сотни мегабайт озу? (если не больше)
    Так ничего не мешает отладочную выкладывать в качестве релиза.
     
  • 4.344, Crazy Alex (ok), 15:36, 22/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ясен пень, что не работают.
     
  • 2.32, linux must _RIP__ (?), 14:58, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это не первый такой баг. Помнится не так давно gcc ломал сборку ядра или добавлял дыры убирая такие проверки.
     
     
  • 3.48, Аноним (-), 17:12, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Это не первый такой баг. Помнится не так давно gcc ломал сборку
    > ядра или добавлял дыры убирая такие проверки.

    Оптимизаторы вообще своеобразная штука, которая может подгадить.

     
     
  • 4.52, Vkni (ok), 17:14, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Оптимизаторы вообще своеобразная штука, которая может подгадить.

    Так к ним главное требование - не гадить.

     
     
  • 5.67, Аноним (-), 20:21, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Так к ним главное требование - не гадить.

    Используйте -O0, только чур не плеваться на качество кода. А так - в данном случае оптимизатор формально прав. Как ни странно. Я конечно понимаю что у некоторых возникает батхерт, когда программы получаются умнее человека. Но это даже не столько заслуга программы, сколько недостаток человека, клавшего на стандарты с прибором и почему-то думавшего что undefined behavior будет работать именно так как ему удобно, а вовсе не...

     
     
  • 6.71, Vkni (ok), 20:55, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Оптимизатор - это не субъект, чтобы быть правым А вставивший это в него несколь... большой текст свёрнут, показать
     
     
  • 7.74, 0xd34df00d (??), 21:03, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Хочется такой безопасности и вождения за ручку 8212 не надо называть себя про... большой текст свёрнут, показать
     
     
  • 8.75, Vkni (ok), 21:12, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Я давно за то, чтобы сбросить язык Цэ с парохода современности, как Фортран и ас... текст свёрнут, показать
     
     
  • 9.76, 0xd34df00d (??), 21:16, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Современный Цэ вполне годен, не надо его сбрасывать Да и вообще, инструментом... большой текст свёрнут, показать
     
     
  • 10.77, Vkni (ok), 21:20, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Синтаксис уже такой, что ужас Увы, но Цэ уже давно ужасен Ещё раз - директив... текст свёрнут, показать
     
     
  • 11.78, 0xd34df00d (??), 21:22, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вполне типичный синтаксис для сиподобного языка Системный инклюд С чего бы Св... большой текст свёрнут, показать
     
     
  • 12.79, Vkni (ok), 21:29, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На поддержание совместимости стандартов тратятся огромные силы Собственно, из-з... большой текст свёрнут, показать
     
     
  • 13.83, 0xd34df00d (??), 22:01, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не всегда move semantics могут кое-какой код поломать я на это сам натыкался, ... текст свёрнут, показать
     
     
  • 14.85, Vkni (ok), 22:06, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Могут Это неприятно и очень дорого в ЭТОМ месте Код 89-го года вполне компили... текст свёрнут, показать
     
     
  • 15.86, 0xd34df00d (??), 22:08, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    171 Компилируется 187 8212 не значит 171 работает 187 Что мы и наблю... текст свёрнут, показать
     
     
  • 16.88, Vkni (ok), 22:12, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    До тут он работал Каждое такое место - это большие денежные потери на ровном ... текст свёрнут, показать
     
     
  • 17.90, 0xd34df00d (??), 22:15, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И это большая удача, не более Вообще, мы говорили о совместимости стандартов Е... текст свёрнут, показать
     
     
  • 18.95, Vkni (ok), 22:29, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Стандарты слишком сложны, чтобы быть 100 совместимыми Уже введение нового ключ... текст свёрнут, показать
     
  • 13.127, arisu (ok), 13:47, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    слушай, ну хватит уже, всё, не надо больше, я не могу столько смеяться ... текст свёрнут, показать
     
  • 12.80, Vkni (ok), 21:32, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это лямбды-то Шаблоны в современном применении - вообще ужас ужасный ... текст свёрнут, показать
     
     
  • 13.84, 0xd34df00d (??), 22:06, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чем auto x, auto y return x y сильно так сложнее x, y x y Э... текст свёрнут, показать
     
     
  • 14.87, Vkni (ok), 22:09, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какое отношение имеют скобки, означающие массив, к лямбда-функциям Вывод типов ... текст свёрнут, показать
     
     
  • 15.89, 0xd34df00d (??), 22:13, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эм, они вообще-то обозначают начало лямбды Ну и какой массив обозначают скобки ... большой текст свёрнут, показать
     
     
  • 16.91, Vkni (ok), 22:17, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    О Вот это и вопрос - глаз видит скобки, 25 лет означающие массив, а реально там... текст свёрнут, показать
     
     
  • 17.93, 0xd34df00d (??), 22:21, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Я, конечно, не 25 лет пишу на плюсах, а всего лет 10, но глаз у меня видит начал... большой текст свёрнут, показать
     
     
  • 18.97, Vkni (ok), 22:32, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А у меня он сперва видит какую-то инициализацию массива, которую уже потом я вос... текст свёрнут, показать
     
     
  • 19.99, 0xd34df00d (??), 22:34, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Эм, это где Опять я всё пропустил ... текст свёрнут, показать
     
     
  • 20.100, Vkni (ok), 22:38, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Так концепты ... текст свёрнут, показать
     
  • 21.101, 0xd34df00d (??), 22:40, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ох, да им до тайпклассов таки 8230 далеко, в общем Да и это для темплейтов вс... текст свёрнут, показать
     
  • 22.102, Vkni (ok), 22:43, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    auto тоже далеко до pattern matching а Увы, другого C у меня для вас нет - вс... текст свёрнут, показать
     
  • 23.103, 0xd34df00d (??), 22:44, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Паттерн-матчинг в темплейтах есть уже сегодня Ну, это если мы о темплейтах гово... текст свёрнут, показать
     
  • 17.128, arisu (ok), 13:50, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    нет, оказывается, всё ещё могу const int a 1,2,42 глаз видит скобки, пол... текст свёрнут, показать
     
     
  • 18.137, Vkni (ok), 20:46, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Молодец Вот и я пишу, что с синтаксисом в Цэ полный трындец Большое спасибо ... текст свёрнут, показать
     
     
  • 19.140, arisu (ok), 20:50, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пожалуйста правда, я привёл пример сишного синтаксиса, но так же неинтересно, э... текст свёрнут, показать
     
     
  • 20.148, Vkni (ok), 21:01, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Цэ просто более-менее обозрим, хотя с синтаксисом уже плохо - см ещё указатель ... текст свёрнут, показать
     
  • 21.150, arisu (ok), 21:04, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я вот недавно ещё страшнее вещь заметил куча имён функций может начинаться на ... текст свёрнут, показать
     
  • 21.154, 0xd34df00d (ok), 21:10, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Самое интересное, что в C это уже и не нужно вовсе, есть же std function Хот... текст свёрнут, показать
     
  • 22.159, Vkni (ok), 21:14, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    В С есть десятки способов реализовать одну и ту же задачу Это одновременно и ... текст свёрнут, показать
     
  • 23.163, 0xd34df00d (ok), 21:17, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Как мне десятком способов передать замыкание в роли этакого коллбека или функтор... текст свёрнут, показать
     
  • 24.167, Vkni (ok), 21:19, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если чутка обобщить задачу, получится - класс, шаблон, макрос, указатель на функ... текст свёрнут, показать
     
  • 21.289, Аноним (-), 09:27, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да, всякие слабаки уходят программить на яве и питоне Поэтому программами на си... текст свёрнут, показать
     
  • 22.295, arisu (ok), 11:43, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    тебя кто-то жестоко обманул, когда сказал, что 171 настоящее программирование ... текст свёрнут, показать
     
  • 23.303, 0xd34df00d (??), 17:33, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Анальные мучения там чаще всего возникают с реализацией Чего далеко ходить, вот... текст свёрнут, показать
     
  • 24.306, arisu (ok), 17:49, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    тут такое дело, что я просто на дух не переношу цпп там ВСЁ плохо особенно то,... текст свёрнут, показать
     
  • 22.316, Vkni (ok), 01:13, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не, туда уходят реально мужественные люди На одном - шаблоны сделаны хуже, чем ... текст свёрнут, показать
     
  • 18.241, Anonym2 (?), 23:39, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это значит что уже не важно что видит ваш глаз инициализация массивов - далеко... текст свёрнут, показать
     
     
  • 19.242, arisu (ok), 23:43, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    иншалла действительно, это всего лишь дело привычки, об этом я и писал ... текст свёрнут, показать
     
  • 9.126, arisu (ok), 13:47, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    да запросто раздельную компиляцию придумали ещё в прошлом веке ... текст свёрнут, показать
     
     
  • 10.136, Vkni (ok), 20:43, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А читать тебя научили 30-40 лет назад А всё равно, про включённые заголовки не ... текст свёрнут, показать
     
     
  • 11.139, arisu (ok), 20:48, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    прочёл и что ... текст свёрнут, показать
     
     
  • 12.143, Vkni (ok), 20:52, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Теперь вспоминаем, что такое раздельная компиляция ... текст свёрнут, показать
     
     
  • 13.144, arisu (ok), 20:54, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    то, что я каждый день использую там даже можно делать такие штуки, как подпихив... текст свёрнут, показать
     
     
  • 14.147, Vkni (ok), 20:59, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Молодец, правильно рассказал А теперь представь, что у тебя есть замшелый софт ... текст свёрнут, показать
     
     
  • 15.149, arisu (ok), 21:03, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    нет, у меня такого 171 внезапно 187 не бывает потому что я немножко в курсе... текст свёрнут, показать
     
     
  • 16.155, Vkni (ok), 21:10, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну ты возишься в своей маленькой песочнице, а кругом большой мир, где есть всяко... текст свёрнут, показать
     
     
  • 17.192, arisu (ok), 21:45, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    и я тебе таки скажу, что если продолжать делать подпорки для говнокода, то говно... текст свёрнут, показать
     
  • 15.152, 0xd34df00d (ok), 21:07, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Или еще вариант не пользуешься софтом за авторством людей, не знающих свои инст... текст свёрнут, показать
     
     
  • 16.157, Vkni (ok), 21:12, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну это ты крут Прелагаю тебе попробовать и выписать тут программы, которыми мож... текст свёрнут, показать
     
     
  • 17.161, 0xd34df00d (ok), 21:15, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем Можно на самом деле спокойно пользоваться и чинить баги, а не обвинять пл... текст свёрнут, показать
     
     
  • 18.164, Vkni (ok), 21:18, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну бред-то не надо писать, а Берёте wc -l, исходники ядра, libc считаете кол-во... текст свёрнут, показать
     
     
  • 19.171, 0xd34df00d (ok), 21:23, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А их так и так исправлять придется Ошибка из исходного поста 8212 так, индик... текст свёрнут, показать
     
     
  • 20.187, Vkni (ok), 21:41, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почему У софта есть время жизни, после которого софт становится не нужен бол... текст свёрнут, показать
     
  • 21.191, 0xd34df00d (ok), 21:45, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какое время жизни у linux kernel или glibc, про которые шла речь в комментарии, ... текст свёрнут, показать
     
  • 22.199, Vkni (ok), 21:54, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ядро Линукса и glibc состоят из частей, которые периодически заменяются на други... текст свёрнут, показать
     
  • 23.209, 0xd34df00d (ok), 22:09, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тогда это вырождается во 171 взять и переписать 187 , так критикуемое вами ... текст свёрнут, показать
     
  • 24.250, Vkni (ok), 00:12, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не вырождается, т к там две страницы вырванных выкладок То взять и перепис... текст свёрнут, показать
     
  • 19.193, arisu (ok), 21:47, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и поэтому ошибки чинить не будем всё равно это нереально, не так ли про декомп... текст свёрнут, показать
     
     
  • 20.202, Vkni (ok), 21:57, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Арису, вернись из Валинора и убери ребёнка с компьютера До 20-ти лет он не смож... текст свёрнут, показать
     
  • 21.204, arisu (ok), 22:00, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    знаешь, есть такое практическое наблюдение у меня когда кто-то говорит про 17... текст свёрнут, показать
     
  • 22.207, Vkni (ok), 22:04, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У вас, в Валиноре всё именно так, да Возвращайся обратно, пожалуйста ... текст свёрнут, показать
     
  • 23.211, arisu (ok), 22:11, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    нет, спасибо, хрюкайте без меня ... текст свёрнут, показать
     
  • 15.290, Аноним (-), 09:30, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если ты завинтил древнему коду мега-оптимизации не имея понятия о том насколько ... текст свёрнут, показать
     
     
  • 16.317, Vkni (ok), 01:16, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там в Makefile как было -O2, так и осталось Только с увеличением версий gcc это... текст свёрнут, показать
     
  • 9.288, Аноним (-), 09:25, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Сбросьте А вон та пачка свежих коммитов в libvpx на хардкорном ассемблере с AVX... текст свёрнут, показать
     
  • 7.110, Anonym2 (?), 02:18, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    - Не должен Это вам к любителям Java, скорее При чём здесь совместимость ... большой текст свёрнут, показать
     
  • 6.94, pv47 (ok), 22:26, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    потому что всю жизнь ub относилось не к компилятору а к процессору си был высок... большой текст свёрнут, показать
     
     
  • 7.129, arisu (ok), 13:51, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > потому что всю жизнь ub относилось не к компилятору а к процессору.
    > си был высокоуровневым ассемблером. и ub подразумевало, что компилятор скомпилирует как
    > есть, а сможет ли это выполнить процессор - это уже и
    > будет ub.

    школоло, покажи эти слова в стандарте.

     
     
  • 8.141, Vkni (ok), 20:50, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну очевидно же, что подобные штуки в стандартах не пишут Точно также, как в УК ... текст свёрнут, показать
     
     
  • 9.145, arisu (ok), 20:57, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    поэтому 171 подобные штуки 187 8212 не более чем досужие измышления это ... текст свёрнут, показать
     
     
  • 10.153, Vkni (ok), 21:08, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Естественно, нет Вокруг каждого ЯП есть определённая культура - то, что плохо ф... текст свёрнут, показать
     
     
  • 11.158, 0xd34df00d (ok), 21:13, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень плохо ссылаться на плохо формализуемые вещи ... текст свёрнут, показать
     
     
  • 12.162, Vkni (ok), 21:16, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В школе что-нибудь, кроме арифметики проходили ... текст свёрнут, показать
     
     
  • 13.168, 0xd34df00d (ok), 21:20, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да, но последние N лет исключительно всякими формальными вещами занимаюсь Профд... текст свёрнут, показать
     
     
  • 14.170, Vkni (ok), 21:23, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Видимо Потому, что есть масса нужных, но плохо формализуемых вещей, которыми мы... текст свёрнут, показать
     
  • 11.165, arisu (ok), 21:18, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    естественно, да то, что кучка людей договорилась чесать левое ухо и делать три ... большой текст свёрнут, показать
     
     
  • 12.176, Vkni (ok), 21:31, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ещё раз тебе пишу - давай вставлять rm -rf HOME там, где появилось UB В УК в с... большой текст свёрнут, показать
     
     
  • 13.198, arisu (ok), 21:53, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    с удовольствием количество говнокода и говнокодеров хотя бы на си после этого... большой текст свёрнут, показать
     
     
  • 14.208, Vkni (ok), 22:07, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это ты, лучше возвращайся из Валинора На каждое не надо, а на такие приколы ста... текст свёрнут, показать
     
     
  • 15.212, arisu (ok), 22:14, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    даже если я громче всех захрюкаю, твой текст всё равно останется бредом я, чест... текст свёрнут, показать
     
     
  • 16.220, Vkni (ok), 22:26, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, на Цэ написаны тонны говнокода И что изменится от того, что ты объявишь его... текст свёрнут, показать
     
     
  • 17.229, arisu (ok), 22:44, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ещё раз это не причина делать костыли лолвут оригинальный сишный код сейчас н... текст свёрнут, показать
     
     
  • 18.232, Vkni (ok), 22:53, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Причина Та же эпопея со SPEC - либо корректируем SPEC2006 все предыдущие рез... текст свёрнут, показать
     
     
  • 19.233, arisu (ok), 23:02, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и поэтому там вечно будет говно, грязь и говнокод по буквам в е ч н о и, само ... текст свёрнут, показать
     
     
  • 20.235, Vkni (ok), 23:12, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Буквы не те Правильно О П Ж А, а составить нужно слово ВЕЧНОСТЬ Но ты прав - в... текст свёрнут, показать
     
  • 21.238, arisu (ok), 23:27, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я предлагаю перестать сорить и за попытку насорить бить канделябром , а ты пред... текст свёрнут, показать
     
  • 22.243, Vkni (ok), 23:49, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты предлагаешь перестать сорить вообще На намёки, что это невозможно, и при бол... текст свёрнут, показать
     
  • 23.246, arisu (ok), 23:57, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в перспективе 8212 да начать это с того, что прекратить проявлять терпимость... текст свёрнут, показать
     
  • 24.248, Vkni (ok), 00:07, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это лишь красивые слова Ты лучше скажи, что со SPEC ом делать Ну расстрелял ты... текст свёрнут, показать
     
  • 25.249, arisu (ok), 00:10, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    разобраться, где баг и починить его именно там если по стандарту gcc прав, то б... текст свёрнут, показать
     
  • 26.251, Vkni (ok), 00:15, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты понимаешь, что все тесты с этим багом станут автоматом невалидны И их нельзя... текст свёрнут, показать
     
  • 27.252, arisu (ok), 00:20, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и это правильно какой смысл в тесте, защищающем ошибку я-то, наивный, думал, ч... текст свёрнут, показать
     
  • 28.253, Vkni (ok), 00:42, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Он не защищает ошибку, а содержит Эта ошибка - выход за границы массива при чте... текст свёрнут, показать
     
  • 29.254, arisu (ok), 00:44, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и то верно уборка да ну, намного дешевле замести мусор под ковёр там же никто... текст свёрнут, показать
     
  • 30.255, Vkni (ok), 01:10, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это лозунги Ты сам, внутри себя, чётко осознаёшь правильное решение И, более т... текст свёрнут, показать
     
  • 31.257, arisu (ok), 01:34, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    8230 я не менее чётко пишу об этом решении но, конечно, механизмы компенсации... текст свёрнут, показать
     
  • 17.291, Аноним (-), 09:35, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Его или пофиксят, или выкинут И так и эдак хорошо со стандартами А не чужи... текст свёрнут, показать
     
     
  • 18.297, arisu (ok), 11:45, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    вообще-то конкретно сишный 8212 сложно ты его читал хоть это из разряда сис... текст свёрнут, показать
     
     
  • 19.319, Vkni (ok), 09:50, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Конечно, нет Тут, по-видимому, вдумчиво читала С-шный стандарт не больше пары ч... текст свёрнут, показать
     
     
  • 20.322, arisu (ok), 13:27, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вот в том и беда, что пишут ну, и в том ещё, что соответствующие стандарты дела... текст свёрнут, показать
     
  • 21.329, Vkni (ok), 16:39, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я и пишу, что ты всё прекрасно понимаешь внутри себя ... текст свёрнут, показать
     
  • 2.33, linux must _RIP__ (?), 15:00, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > короче говоря, вот ссылка на gcc'шную багзиллу: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61236
    > (Status: RESOLVED INVALID)
    > суть в том, что в qsort передается переменная-указатель, которая может быть NULL'ом.
    > с другой стороны эта функция промаркирована в glibc как такая, которая не
    > может принимать NULL на входе (что соответствует стандарту). из этих соображений,
    > gcc выводит, что в переменной не может быть NULL и убирает
    > проверки.
    > обещают в gcc 4.10.0 вывод предупреждения на подобные случаи

    http://grsecurity.net/~spender/exploits/exploit2.txt

    всего 4 года прошло..  История повторяется

     
  • 2.49, Аноним (-), 17:13, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > обещают в gcc 4.10.0 вывод предупреждения на подобные случаи

    Круто, а между .9 и .10 что делать? :)

     
     
  • 3.51, Vkni (ok), 17:13, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Круто, а между .9 и .10 что делать? :)

    .8

     
     
  • 4.68, Аноним (-), 20:23, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > .8

    Ну вот как-то так и получается, если с практической точки зрения смотреть :\. Ибо если они не успели включить патчик с варнингом, но успели включить патчик с столь агрессивной оптимизацией - нарваться на тихую оптимизацию таких вещей не подпертую варнингом было бы не прикольно. Как будто в этом мире мало народа кладет на стандарты.

     
     
  • 5.72, Vkni (ok), 20:58, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну вот как-то так и получается, если с практической точки зрения смотреть
    > :\.

    Да. Собственно, я с практической точки зрения и подходил.

    > Ибо если они не успели включить патчик с варнингом, но
    > успели включить патчик с столь агрессивной оптимизацией - нарваться на тихую
    > оптимизацию таких вещей не подпертую варнингом было бы не прикольно. Как
    > будто в этом мире мало народа кладет на стандарты.

    Более того, скажу, что в 96-м году как-то странно не класть на стандарт 99-го. Языку Цэ уже пол века, есть груда унаследованного кода, костылей и т.д. Их нужно учитывать при разработке компилятора.

    А если не хочется, то лучше уж запилить новый системный язык, лучше приспособленный под реалии современного дня - вывод типов, GPU, параллельность и т.д.

     
     
  • 6.292, Аноним (-), 09:39, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Более того, скажу, что в 96-м году как-то странно не класть на стандарт 99-го.

    Если вы собираете код 96 года, сказав компилеру что надо использовать стандарт 99-го - благородный дон желает чего-то странного, не находите? И не кажется ли вам что единственный кого вы в этом процессе можете обмануть - это вы сами?

    > Языку Цэ уже пол века, есть груда унаследованного кода,
    > костылей и т.д. Их нужно учитывать при разработке компилятора.

    А зачем вы на код 96-го года врете компилеру что это C99 и закручиваете оптимизацию? "Если долго портить машину, она сломается".

    > А если не хочется, то лучше уж запилить новый системный язык,

    Запиливайте, разрешаю.

    > GPU, параллельность и т.д.

    ИЧСХ, в GCC все это пилят. ИЧСХ, основываясь на си.

     
     
  • 7.300, arisu (ok), 12:01, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > ИЧСХ, в GCC все это пилят. ИЧСХ, основываясь на си.

    ИЧСХ, получается фигня.

     
  • 7.318, Vkni (ok), 01:24, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Запиливайте, разрешаю.

    Запоздало, т.к. люди над этим давно работают.

    > ИЧСХ, в GCC все это пилят. ИЧСХ, основываясь на си.

    От такого кол-ва изнасилований Слоник не выдержит и лопнет.

     
  • 2.50, Vkni (ok), 17:13, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > (что соответствует стандарту).

    А до 1999-го года ни одной строчки на языке Цэ не написано!!!

     
     
  • 3.69, Аноним (-), 20:24, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А до 1999-го года ни одной строчки на языке Цэ не написано!!!

    А для кода древнее 1999 года компилеру может потребоваться указать стандарт, которому он должен следовать.

     
     
  • 4.73, Vkni (ok), 21:00, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А для кода древнее 1999 года компилеру может потребоваться указать стандарт, которому
    > он должен следовать.

    А оно точно уберёт оптимизацию? И вообще, сможет ли эту libc скомпилировать-то?

     
     
  • 5.130, arisu (ok), 13:53, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А оно точно уберёт оптимизацию? И вообще, сможет ли эту libc скомпилировать-то?

    если ты используешь glibc, которая следует стандартам 99-го года, с какого испугу ты возмущаешься, что код стандарта 89-го компилируется хреново?

    не хочешь править свой код под новый стандарт — бери glibc постарее и страдай.

     
     
  • 6.135, Vkni (ok), 20:43, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Про такую штуку, как поддержка совместимости слышал? Про библиотеки, чуть младше тебя и меня, широко используемые в повседневности тоже не слышал?

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

     
     
  • 7.138, arisu (ok), 20:47, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Стандарт специально расширен так, чтобы поддерживать совместимость

    лолвут? тебе ж выше уже показали, что совместимость поломана.

     
     
  • 8.142, Vkni (ok), 20:51, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Отключаешь эту оптимизацию и видишь невооружённым взглядом, что gcc c этой libc ... текст свёрнут, показать
     
     
  • 9.146, arisu (ok), 20:59, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    молодец теперь, всё-таки, попробуй сделать остальные шаги например, почитать в... большой текст свёрнут, показать
     
     
  • 10.151, Vkni (ok), 21:05, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А ты, умный Я выше и писал, что при таком подходе -O0 будет у всех Ибо работаю... текст свёрнут, показать
     
     
  • 11.156, 0xd34df00d (ok), 21:11, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лучше все-таки научиться программировать https github com munificent vigil... текст свёрнут, показать
     
     
  • 12.160, Vkni (ok), 21:15, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И всё, всё, всё переписать Ты ребёнка за клавиатуру пустил, что ли ... текст свёрнут, показать
     
     
  • 13.166, 0xd34df00d (ok), 21:19, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Можно и не переписывать, а просто уважать стандарты и хотя бы иногда пользоватьс... текст свёрнут, показать
     
     
  • 14.169, Vkni (ok), 21:21, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Молодец Это ты пишешь про новый софт, а я тебе про старый, работающий десятилет... текст свёрнут, показать
     
     
  • 15.172, 0xd34df00d (ok), 21:25, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Старый софт мне тоже поддерживать приходилось Ничего, практика показывает, что ... текст свёрнут, показать
     
  • 15.174, arisu (ok), 21:29, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    прикинь, старые исходники тоже можно чинить за это молния с неба не ударит то,... текст свёрнут, показать
     
     
  • 16.177, Vkni (ok), 21:32, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прикинь, если получить предупреждение в subj евом месте, чинить будет на порядки... текст свёрнут, показать
     
     
  • 17.180, arisu (ok), 21:34, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    прикинь, для этого придумали статические анализаторы и продолжают их совершенст... текст свёрнут, показать
     
     
  • 18.196, Vkni (ok), 21:49, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прикинь, компилятор всё равно обрабатывает этот случай ... текст свёрнут, показать
     
     
  • 19.201, arisu (ok), 21:56, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    прикинь, если снять с компилятора задачу диагностики, то можно сильно упростить ... текст свёрнут, показать
     
     
  • 20.210, Vkni (ok), 22:10, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прикинь, движение ИТ всю жизнь идёт в обратную сторону - компьютер должен работа... текст свёрнут, показать
     
  • 21.213, arisu (ok), 22:14, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    прикинь, если ты разупорешься и попробуешь запоминать хотя бы несколько сообщени... текст свёрнут, показать
     
  • 22.228, Vkni (ok), 22:44, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прикинь, если ты сам вернёшься из Валинора, ты узнаешь, что здесь стат анализат... текст свёрнут, показать
     
  • 23.230, arisu (ok), 22:47, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    прикинь, а когда-то считали, что альтернативы рабскому труду нет, поэтому нужно ... текст свёрнут, показать
     
  • 24.237, Vkni (ok), 23:19, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прикинь, если бы мы тогда жили, мы бы так и считали Ибо, чтобы нужно было меньш... текст свёрнут, показать
     
  • 25.239, arisu (ok), 23:29, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    прикинь, если ничего не менять 8212 ничего и не изменится я предлагаю прекра... текст свёрнут, показать
     
  • 26.256, Vkni (ok), 01:13, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Повзрослеешь Более того, ты наверняка уже повзрослел Нужно просто перестать вр... текст свёрнут, показать
     
  • 27.258, arisu (ok), 01:36, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да-да-да-да 171 перестань уже выпендриваться ишь, моется он каждый день пер... текст свёрнут, показать
     
  • 28.320, Vkni (ok), 09:52, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я не сомневаюсь, что ты, лично, моешься каждый день И Сшный стандарт читаешь, и... текст свёрнут, показать
     
  • 29.323, arisu (ok), 13:28, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это их личные проблемы не вижу, отчего я должен в честь сего начать хрюкать ... текст свёрнут, показать
     
  • 29.325, Led (ok), 14:56, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не моются ... текст свёрнут, показать
     
  • 30.326, arisu (ok), 15:07, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ещё хуже настаивают, чтобы и другие не мылись потому что мыться 8212 ненорм... текст свёрнут, показать
     
  • 31.330, Vkni (ok), 22:04, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Совершенно верно При этом ты, почему-то, настаиваешь на том, что давайте прямо ... текст свёрнут, показать
     
  • 32.331, arisu (ok), 22:12, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    я предлагаю перестать считать, что дизентерия 8212 это божья кара, что спасен... текст свёрнут, показать
     
  • 33.332, Vkni (ok), 22:27, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так это же почти все Ну кроме тебя и ещё пары человек ... текст свёрнут, показать
     
  • 34.333, arisu (ok), 22:28, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну и что большинству говнокода лучше оставаться ненаписаным ... текст свёрнут, показать
     
  • 35.334, Vkni (ok), 22:38, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Фа-арш невозможно провернуть наза-ад ... текст свёрнут, показать
     
  • 36.335, arisu (ok), 22:39, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    само собой грязные руки невозможно вымыть, поэтому нет смысла даже начинать ... текст свёрнут, показать
     
  • 37.337, Vkni (ok), 18:53, 18/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Исключительно постепенным комплексом мер Конечно, обыватели должны быть всегда... текст свёрнут, показать
     
  • 38.338, arisu (ok), 18:57, 18/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и желательно 8212 вместе с родственниками если непонятно, почему 8212 то ... текст свёрнут, показать
     
  • 39.339, Vkni (ok), 05:26, 21/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да понятно почему - это инстинктивное желание Но на уровне градоначальника нужн... текст свёрнут, показать
     
  • 40.341, arisu (ok), 19:42, 21/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    как я и сказал 8212 пояснять бессмысленно конечно, ничего ты не понял, но ув... текст свёрнут, показать
     
  • 11.173, arisu (ok), 21:27, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    таки да отучаемся говорить за всю сеть у говнокодеров 8212 да люди же, кот... большой текст свёрнут, показать
     
     
  • 12.175, 0xd34df00d (ok), 21:29, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, на самом деле можно, по крайней мере, конкретно такой класс ошибок Правда, ... текст свёрнут, показать
     
     
  • 13.178, arisu (ok), 21:32, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    вот поэтому инструменты статического анализа от компиляторов постепенно отрывают... текст свёрнут, показать
     
     
  • 14.182, Vkni (ok), 21:36, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Угу Самая большая проблема, почему нельзя стат анализатор встроить в компилято... текст свёрнут, показать
     
     
  • 15.184, 0xd34df00d (ok), 21:38, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не соглашусь, это все-таки время работы Статический анализатор спокойно можно п... текст свёрнут, показать
     
     
  • 16.189, arisu (ok), 21:44, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    а как раз из-за анализаторов один компилятор ругается на то, что переменная, во... текст свёрнут, показать
     
  • 16.194, Vkni (ok), 21:48, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У PVS-овцев реализована инкременталка С того, что предупреждения противоречат д... текст свёрнут, показать
     
     
  • 17.200, 0xd34df00d (ok), 21:55, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Про свои впечатления от PVS я уже тоже писал Эм, это какой так ругается Не вст... текст свёрнут, показать
     
     
  • 18.205, Vkni (ok), 22:01, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я, естественно, про них помню Но, я тебе, как умному собеседнику, намекаю, что ... текст свёрнут, показать
     
  • 17.214, Led (ok), 22:15, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    На отсутствие default ругается только в том случае, если для переключалки исполь... текст свёрнут, показать
     
     
  • 18.219, 0xd34df00d (ok), 22:26, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не совсем, тут все довольно тупо, к сожалению Даже если есть какой-нибудь enum ... текст свёрнут, показать
     
     
  • 19.223, Vkni (ok), 22:29, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ещё проще есть - return прямо после switch c default один компилятор ругается н... текст свёрнут, показать
     
  • 18.221, Vkni (ok), 22:27, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пересмотрел 2 раза, логика корректна Мне теперь повеситься из-за какого-то вшив... текст свёрнут, показать
     
     
  • 19.222, Led (ok), 22:29, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем вешаться Оставайся - одним говнокодером больше, одним меньше - какая разн... текст свёрнут, показать
     
     
  • 20.225, Vkni (ok), 22:30, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Такую чушь лучше писать из-под анонимуса Тебе не придётся потом ник удалять ... текст свёрнут, показать
     
  • 20.293, Аноним (-), 09:43, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Лишний пример того что академики - хреновые программисты ... текст свёрнут, показать
     
  • 19.224, 0xd34df00d (ok), 22:29, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Написать пустые case ы для необработанных случаев с одним-единственным break Та... текст свёрнут, показать
     
     
  • 20.226, Vkni (ok), 22:32, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    enum с десятком параметров, нужно сделать выделенный случай для 2-х Если я вста... текст свёрнут, показать
     
  • 15.185, arisu (ok), 21:40, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    самая большая проблема 8212 это то, что компилировать оно будет 100500 длинны... текст свёрнут, показать
     
  • 12.179, Vkni (ok), 21:34, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если ты пропихнёшь такой патч, тебе сильно подрихтуют физиономию неформализуемым... текст свёрнут, показать
     
     
  • 13.181, arisu (ok), 21:36, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    кто же спорит, идиотов-говнокодеров всегда было много массой задавят как Дрепп... текст свёрнут, показать
     
     
  • 14.183, Vkni (ok), 21:37, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да нет, ты просто всё ещё в Валиноре, где всё строго и перпендикулярно ... текст свёрнут, показать
     
     
  • 15.186, arisu (ok), 21:41, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    конечно, вместо этого мне надо всё забыть и весело нырнуть в говно, а потом похр... текст свёрнут, показать
     
     
     
     
     
     
    Часть нити удалена модератором

  • 22.227, Vkni (ok), 22:34, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А-аа, так ты ставишь минусы вручную От лох-то - ... текст свёрнут, показать
     
  • 12.231, Vkni (ok), 22:49, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это у вас в Валиноре можно сделать Сшную программу на мегабайт текстов без UB ... текст свёрнут, показать
     
     
  • 13.234, arisu (ok), 23:03, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да даже на десятки мегабайт но 171 обычным людям 187 это будет сложно, коне... текст свёрнут, показать
     
     
  • 14.236, Vkni (ok), 23:13, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Только не на языке Цэ ... текст свёрнут, показать
     
     
  • 15.240, arisu (ok), 23:30, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ну, хреново быть тобой, что я ещё сказать могу 8230 ... текст свёрнут, показать
     
     
  • 16.244, Vkni (ok), 23:50, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Многие знания, многие печали Но нет, не настолько хреново, чтобы уходить в Вали... текст свёрнут, показать
     
  • 11.259, Xaionaro (ok), 14:20, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В 2 раза Вы недооцениваете силу -O2 И ещё не стоит забывать, что кроме обы... текст свёрнут, показать
     
     
  • 12.260, arisu (ok), 14:30, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    что лучше офигенно быстрая программа, которая считает полную фигню, или медленн... текст свёрнут, показать
     
     
  • 13.261, Xaionaro (ok), 14:46, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Скапитаню -- нужно писать быстрые программы, дающие верный результат Другими сл... текст свёрнут, показать
     
     
  • 14.262, arisu (ok), 14:51, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты же не спрашивал, что с софтом надо делать, ты спросил, какая лучше лучше 8... текст свёрнут, показать
     
     
  • 15.263, Xaionaro (ok), 15:02, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Хех, нет, я такого не спрашивал Я извиняюсь, если я какой-то вопрос некорректно... текст свёрнут, показать
     
     
  • 16.264, arisu (ok), 15:11, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    ну, значит я тебя так понял пардон недопонимания случаются в описаном акцепте... текст свёрнут, показать
     
  • 14.268, Vkni (ok), 21:32, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, вы абсолютно правы Нужно А ещё нужно учиться на одни пятёрки, слушаться ст... текст свёрнут, показать
     
     
  • 15.269, Xaionaro (ok), 23:58, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если не будете учиться на пятёрки, слушаться других, а также будете пить, курить... текст свёрнут, показать
     
     
  • 16.271, Vkni (ok), 00:15, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Разумеется, нет Скажем, есть ли у вас братья-сёстры Возьмём Л Поттеринга Он ... текст свёрнут, показать
     
     
  • 17.272, Xaionaro (ok), 00:24, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не знаю какой код пишет лично он не сверял какая строка кем именно написана , з... текст свёрнут, показать
     
     
  • 18.274, Vkni (ok), 00:26, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    К тому, что несмотря на то, что этот кадр плодит лютое говно, нам необходимо... текст свёрнут, показать
     
     
  • 19.276, Xaionaro (ok), 00:43, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Пфф Лично я некоторое время немного помогал OpenRC в этом году И следующей зим... текст свёрнут, показать
     
     
  • 20.278, Vkni (ok), 01:00, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мне тоже И это прекрасно, но ряд программ, увы, монополисты ... текст свёрнут, показать
     
  • 21.280, Xaionaro (ok), 01:13, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мне нравится аналогия arisu по поводу рабского труда Если люди вокруг идиоты и ... текст свёрнут, показать
     
  • 12.267, Vkni (ok), 21:29, 15/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если есть выбор в том, что чужой некритичный код работает при -O0 и не работает ... текст свёрнут, показать
     
     
  • 13.270, Xaionaro (ok), 00:08, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, но добавлю, что IMHO создание UB в коде выходя за стандарт -- это ССЗБ И ... текст свёрнут, показать
     
     
  • 14.273, Vkni (ok), 00:24, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это вы говорите про непосредственного виновника Непосредственный виновник - это... текст свёрнут, показать
     
     
  • 15.275, Xaionaro (ok), 00:38, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    gt оверквотинг удален Прошу без автомобильных аналогий, ибо я лишь пешеход до... большой текст свёрнут, показать
     
     
  • 16.277, Vkni (ok), 00:57, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ок Тогда аналогия простая - вы, переходя дорогу на зелёный свет, можете смотрет... текст свёрнут, показать
     
     
  • 17.279, Xaionaro (ok), 01:09, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И Поясните для тупого, как конкретно эта аналогия связана с данным диалогом ... большой текст свёрнут, показать
     
     
  • 18.281, Vkni (ok), 01:47, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нет, не в рамках Нарушен пункт соблюдение дистанции В ПДД есть неточности, н... текст свёрнут, показать
     
     
  • 19.282, Xaionaro (ok), 09:06, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нарушен в следствии полного следования ПДД каждым участником движения Каждый ре... большой текст свёрнут, показать
     
     
  • 20.287, Vkni (ok), 09:23, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Либо полное следование ПДД , либо была нарушена дистанция , но не одновременно... текст свёрнут, показать
     
  • 21.294, Xaionaro (ok), 10:30, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Замечательно А теперь объясните мне тупому где тут противоречье с тем, что на... большой текст свёрнут, показать
     
  • 22.302, Vkni (ok), 17:16, 16/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не надо срываться на эмоции Есть разница Поэтому ПДД сделаны с запасом - даже ... текст свёрнут, показать
     
  • 19.336, bircoph (ok), 18:45, 18/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ой, а мужики-то не знают, уже 5 33 выпустили И вообще по 4-5 раз в год новые ве... текст свёрнут, показать
     
     
  • 20.340, Vkni (ok), 05:29, 21/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Мужики, естественно, не знают о том, что происходило больше, чем 2 года назад И... текст свёрнут, показать
     

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



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

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