The OpenNET Project / Index page

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

В ядре Linux 5.18 планируют разрешить использование стандарта языка Си C11

25.02.2022 17:24

В процессе обсуждения набора патчей с исправлением связанных с уязвимостями класса Spectre проблем в коде для работы со связанными списками, стало ясно, что проблему удалось бы решить более изящно, если бы в ядро допускался код на языке Си, соответствующий более новой версии стандарта. В настоящее время добавляемый в ядро код должен соответствовать спецификации ANSI C (С89), сформированной ещё в 1989 году.

Связанная со Spectre проблема в коде была вызвана продолжением использования отдельно определяемого итератора после цикла - для перебора элементов связанного списка используется макрос и так как итератор цикла передаётся в этот макрос, он определяется вне самого цикла и остаётся доступен после цикла. Использование стандарта C99 позволило бы определять переменные для цикла в блоке for(), что решило бы проблему без придумывания обходных путей.

Линус Торвальдс согласился с идеей реализации поддержки более новых спецификаций и предложил перейти в ядре 5.18 на использование стандарта C11, опубликованного в 2011 году. При предварительной проверке сборка в GCC и Clang в новом режиме прошла без отклонений. Если при более тщательном тестировании не возникнет непредвиденных проблем, в сборочных скриптах ядра 5.18 опция '--std=gnu89' будет заменена на '--std=gnu11 -Wno-shift-negative-value'. Рассматривалась возможность и использования стандарта C17, но в этом случае пришлось бы повышать минимально поддерживаемую версию GCC. Включение же поддержки C11 укладываются в текущие требования к версии GCC (5.1).

  1. Главная ссылка к новости ( https://news.ycombinator.com/...)
  2. OpenNews: Разработчики ядра Linux обсуждают возможность удаления ReiserFS
  3. OpenNews: Пятая редакция патчей для ядра Linux с поддержкой языка Rust
  4. OpenNews: Доступен Kasper, сканер проблем со спекулятивным выполнением кода в ядре Linux
  5. OpenNews: Уязвимость в механизме ucount ядра Linux, позволяющая повысить свои привилегии
  6. OpenNews: Вторая версия патчей c реструктуризацией заголовочных файлов ядра Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56760-linux
Ключевые слова: linux, kernel, compile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (118) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 18:02, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +26 +/
    > Си C11

    ну вот наконец си си кэпвелл и вышел из комы

     
     
  • 2.24, Аноним (-), 19:38, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Алилуя, давно пора. А, кэпвеллу дивный новый мир не понравится, пичалька.
     
  • 2.79, Аноним (-), 13:24, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это 152400-я серия Санта-Барбары? Меня удивляло то, что вполне респектабельные уважаемые театральные актёры России тащились от этого третьесортного сериала масштаба одного штата, Калифорния кажется. Потом я узнал что этот сериал в даже своём штате имел низкие рейтинги. Оказывается мои знакомые американцы вообще не знали про существование этого сериала. 1990-е российские федеральные телеканалы закупали третьесортные сериалы и скармливали их собственному населению. "Богатые тоже плачут" это вообще сериал 1970-х гг. Копец! Мексиканцы удивлены.
     
     
  • 3.106, Аноним (106), 13:02, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Понять бы только, с чего тебя так бомбануло.
     
     
  • 4.109, Аноним (-), 13:28, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Понять бы только, с чего тебя так бомбануло.

    "Анонимов тоже бомбит!" -  высокорейтинговый сериал опеннета, 1996-2022 год

     
     
  • 5.125, Аноним (-), 23:02, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    За отсутствием сериалов марвела и диснея - сойдет. Экранизуйте.
     
  • 4.110, Ан (??), 19:18, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Весна же. Чуть раньше календарной в этом году.
     
  • 3.107, Аноним (107), 13:06, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Почему "тащились"? Очень просто - потому что другого *ничего* не было. На безрыбье, как говориться...
     
  • 3.120, Crazy Alex (ok), 20:30, 28/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну логично, совковому зрителю вообще можно было что угодно скормить, да и потом, насколько я понимаю, 99% шоу были передраны или перекуплены с Запада. И брали, понятно, что попроще сделать да подешевле купить
     

  • 1.2, Аноним (2), 18:06, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > настоящее время добавляемый ядро код должен соответствовать спецификации ANSI C (С89), сформированной ещё в 1989 году.

    Зачем использовать такую старую спецификацию, всем смысл?

     
     
  • 2.4, Аноним (4), 18:10, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А в чём ранее был смысл использовать более новую?
     
     
  • 3.8, Аноним (2), 18:23, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Да хотябы вот C11 "Интерфейсы для проверки границ массива"
     
     
  • 4.116, adolfus (ok), 11:47, 28/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Самый лучший интерфейс для этого -- межушный.
    Использование третьей версии языка (9899-2011) в ядре ради его безопасных конструкций, в частности это for с объявлениями в expr1. Также с С11 есть атомарные фундаментальные типы.
     
  • 3.27, Аноним (-), 19:48, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > А в чём ранее был смысл использовать более новую?

    1) Нормальные типы данных. Простите, int - это очень неконкретно. Может быть 16 битов, а может и 64. А теперь попробуйте на этом математику сделать без багов и кроссплатформенно, ню-ню. Даже у большинства аксакалов код обгаживается на этом только в путь.
    2) Стандартизация того что есть true и false в булеанах, устаканеная работа с этим всем, в частности, assignment чего либо кроме нуля ведет к assignment единицы и рассмотрению как true, в самопальных реализациях возможны самые разные варианты. Что добавляет багов и глюков, а кодер не знает чего ожидать.
    3) Вариадики, особенно макросы, годная штука. Вариадик функции в ядро тащить не стоит, пожалуй, но макросы можно делать и относительно беззубыми.
    4) Static Assert есть. На более ранних сях аналог сделать можно - но нельзя получить красивое сообщение об ошибке стандартными средствами если условие провалилось.

     
     
  • 4.33, pashev.me (?), 20:48, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ты сейчас с кем говорил?

    Давай в контексте ядра Линукс.

     
     
  • 5.36, Аноним (-), 21:01, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У них большая часть этого есть. Только наколенно.
     
  • 4.46, Аноним (46), 22:12, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Любишь все блестящее и бесполезное?
     
     
  • 5.63, Аноним (63), 02:32, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Любишь тупые баги в математике, с overrun'ами/negative index deref и вообще уродский код? Я видел достаточно такого кода чтобы научиться его ненавидеть :)

    Линуксоиды так то подобие C99/11 и из 89 сделали себе. И более вменяемые типы, и статик ассерты, и прочие плюшки. Только это очень уж педальненько было.

     
     
  • 6.81, tty0 (?), 13:39, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде пишется по конкретный компилятор? А про остальные портируется (с ответственностью на тех, кто портирует). Или я чего то не понимаю? Зачем тащить скраб, когда он не нужен? Зачем синтаксический сахар, когда он вносит больше неопределённости?
     
     
  • 7.85, Аноним (-), 16:07, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Оно как бы так стало не потому что так всем очень нравится, а потому что в станд... большой текст свёрнут, показать
     
  • 4.76, _kp (ok), 12:49, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> А в чём ранее был смысл использовать более новую?

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

    А то, помню ржали над одной поделкой где bool складывали, и это ж работало.

     
     
  • 5.86, Аноним (-), 16:17, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    1 Вообще-то включать хидеры по стандарту для этого надо С определениями этсамо... большой текст свёрнут, показать
     
  • 4.105, . (?), 12:11, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > 1) Нормальные типы данных. Простите, int - это очень неконкретно. Может быть 16 битов, а может и 64. А теперь попробуйте на этом математику сделать без багов и кроссплатформенно, ню-ню. Даже у большинства аксакалов код обгаживается на этом только в путь.

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

    остальное не тянет на обсуждение - хотелки.

     
     
  • 5.126, Аноним (-), 23:18, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    По факту большая часть кода не готова к тому что int будет 16 бит, равно как и c... большой текст свёрнут, показать
     
  • 5.137, Neon (??), 01:52, 16/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Как определенность в размере типов ухудшает портабельность ?!
     
  • 4.119, Аноним (119), 16:11, 28/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лишь бы C++ не использовать.
     
  • 3.53, Аноним (53), 23:29, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >А в чём ранее был смысл использовать более новую?

    Да вот только за отсутствие возможности написать for (int i=0; i<n; i++), С89 следовало бы давно выжечь.

     
     
  • 4.64, Аноним (-), 02:36, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И это тоже. Полно случаев когда i объявили, сделали большой кус, сто раз забыли как объявили, лоханулись по тупому, ...

    А можешь объяснить пойнт (signed) int в данной конструкции? А то вот такие вот чудеса очень любят уходить в минус, потому что могут, особенно если оно из параметра caller'а считается... и потом получается интересно. Потому что (signed) с большим минусом < n так то довольно долго выполняеться может... а если это еще и индекс в массиве был, вам точно амба

     
     
  • 5.82, tty0 (?), 13:44, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Говорить не запретишь, но в ядре... Хотя молодость
     
  • 5.138, memer228 (?), 00:07, 17/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну стандарт языка считает, что уйти в минус оно не может, а в случае с unsigned приходится гарантировать правильное переполнение, это может стоить не так мало (вот пример: https://youtu.be/yG1OZ69H_-o?t=2357 — наверное, правильным фиксом было бы использование size_t, но они под настолько экзотические платформы делают вид, что собираются, что до сих пор не сделали ничего).
     
  • 2.16, _kp (ok), 18:54, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Изначально смысл был что бы собирать ядро под платформы где компиляторы частично поддерживают стандарты, а таких и сейчас как грязи, не поддерживающих полностью  не только C11, но и gnu99.
    Далее было лень, наверное, обновлять требования к компиляторам.

    Но, это не могло длиться вечно, и наконец то обновляются. Молодцы.


     
     
  • 3.23, пох. (?), 19:31, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Никогда не было, ядро никогда ничем кроме gcc нормально не собиралось. Даже для llvm, старавшегося сохранить совместимость, пришлось в куче мест править.
    Изначально был смысл чтобы собирать ядро под платформы, для которых нет и не факт что будет когда-нибудь моднейшая версия gcc. Скажи спасибо если есть кое-как когда-то портированный вендором 2.7.2

    Да, внезапно на таких платформах тоже мог кому-то понадобиться линукс.

    Сегодня вот внезапно выяснилось, что поскольку ниже пятой версии вообще уже давным-давно не собирается, в основном из-за static_assert поди, незачем особо и стараться.

     
     
  • 4.28, Аноним (-), 19:53, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Скажи спасибо если есть кое-как когда-то портированный вендором 2.7.2

    Тогда оно умерло и это проблемы некромансеров что делать дальше.

    > Да, внезапно на таких платформах тоже мог кому-то понадобиться линукс.

    Пусть юзают ядра современные компилеру, например :)

    > незачем особо и стараться.

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

    TL;DR: никто не будет делать из ваших проблем свои. Абыдна, да?
      

     
     
  • 5.49, пох. (?), 23:16, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    то есть л@п4оподелка должна оставаться на тех двух платформах, которые одобрила ibm?
    Ну ок, все правильно, зачем ее еще куда-то портировать. Профита ibm с этого никакого, и другим платиновым тоже, ведь там поди и винды-то нет.

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

    Нет, трахаться с портированием версии 1.0.102 "современной компилеру" никто не будет, это мартышкин труд.
    Поищут просто менее хипстерскую систему для своей платформы, которую можно собирать более общедоступными компиляторами.

     
     
  • 6.65, Аноним (-), 02:44, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    То-есть актуальное ядро живет на актуальных платформах, на которые комьюнити или... большой текст свёрнут, показать
     
  • 4.51, _kp (ok), 23:23, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Никогда не было, ядро никогда ничем кроме gcc нормально не собиралось.

    Не под всякую архитектуру и gcc актуальной версии есть.

     
  • 4.54, Аноним (53), 23:34, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Скажи спасибо если есть кое-как когда-то портированный вендором 2.7.2

    А дальше ядра-то что? GLibc нужен C99. Думаю, Musl'у тоже не менее.

     
     
  • 5.58, пох. (?), 00:06, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    а дальше можно хотя бы пытаться собрать gcc штатным образом.

    > GLibc нужен C99.

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

     
     
  • 6.87, Аноним (-), 16:28, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пох вам расскажет как сделать все дерьмово и сложно Но есть и способы лучше 1... большой текст свёрнут, показать
     
  • 2.84, AKTEON (?), 15:31, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В  поддерживаемом компилляторе , конечно же
     

  • 1.3, DEF (?), 18:08, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    А почему не C17, который более модерновый?
     
     
  • 2.5, макпыф (ok), 18:15, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Написанно же:

    > Рассматривалась возможность и использования стандарта C17, но в этом случае пришлось бы повышать минимально поддерживаемую версию GCC

     
     
  • 3.10, Аноним (10), 18:27, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >пришлось бы повышать минимально поддерживаемую версию GCC

    И в чем проблема? Некрофилы всякие все равно сидят на LTS.

     
     
  • 4.17, _kp (ok), 18:57, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >>пришлось бы повышать минимально поддерживаемую версию GCC
    > И в чем проблема? Некрофилы всякие все равно сидят на LTS.

    Это для intel и arm всё хорошо с компиляторами, но есть и менее популярные платформы, под которые собирают ядро, и там явно распространены компиляторы не осилившие поддержку _полностью_ с17.
    С заботой о неосиляторах.

     
     
  • 5.39, Самокатофил (?), 21:12, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    о как... а выше тролли говорили про "никто не будет решать проблемы неосиляторов, абидна да".
     
  • 5.70, Аноньимъ (ok), 08:06, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Интересно что за платформы такие.
     
     
  • 6.102, Дон Педро (?), 22:00, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Отвлекись от х86 и найдешь кучу таких платфром.
     
     
  • 7.131, Аноним (131), 10:27, 02/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ...которые благополучно сдохли в лучшем случае ещё в нулевых
     
  • 2.6, Валерий (??), 18:15, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Написано ж почему

    Рассматривалась возможность и использования стандарта C17, но в этом случае пришлось бы повышать минимально поддерживаемую версию GCC

     
     
  • 3.91, Аноним (-), 16:40, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И, главное: назовите вашу любимую фичу C17 которой нет в C11? А, погодите, 17 это такая слегка исправленная версия 11, в которой для разработке кернелов нет почти ничего полезного? Нну...

    (да, если кто не понял ядро не сможет пользоваться плюшками стандартной либы, так что всякие продвинутости типа тредов и проч - ну, сами понимаете, не про ядро, оно слишком кастомное чтобы ему стандартная либа катила, у него все свое, "почему-то")

     
  • 2.7, устаревший си (?), 18:15, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Читать надо внимательней.
     
  • 2.117, adolfus (ok), 12:05, 28/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    С17 содержит практиечски только косметические изменения, не затрагивая по существу ничего в самом языке.
     

  • 1.20, Аноним (20), 19:16, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Линус Торвальдс согласился с идеей реализации поддержки более новых спецификаций

    я более довольный

     
     
  • 2.22, Аноним (22), 19:19, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Си всё ближн к переходу на быстрый и безопасный язык zig.
     
     
  • 3.29, Аноним (-), 19:55, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Забавная штука, лучше хруста на вид. Но пока дико нестабильная, а некоторые тестимониалы дико доставляют. Посмотри про сборку таким манером lwan :)). Тестимониал в виде "...complete failure" все же рановат для серьезного применения.
     
     
  • 4.38, Аноним (22), 21:08, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Автор вроде так и говорит надо ждать версию 1.0
     
     
  • 5.66, Аноним (-), 02:49, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Автор вроде так и говорит надо ждать версию 1.0

    Хруст это за 10+ лет не смог. Эти имеют более резвые планы? А то моя фамилия, увы, не McLeod чтобы такими вещами не париться :)

     

  • 1.30, Аноним (30), 20:02, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >Линус Торвальдс [...] предложил перейти на использование стандарта C11

    Почему не 99? Он в разы более подтдерживаемый, чем 11-ый, да и проблем с совместимостью будет меньше (если они будут, конечно)

     
     
  • 2.31, Аноним (-), 20:11, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Так, глядя на часы, сейчас 2022 вообще-то. И если кто за 11 лет не расчехлился, он, наверное, сдох. И нет, ждать по 22 года это все же перебор. Ну и статик ассерты пригодятся. И генерики позволяют в принципе более красивые и менее бажные вещи типа min/max без форсирования типа аргументов на гвозди, например. На макросне так сделать можно, но багов при этом... потому что у препроцессора очень сильно свои идеи как он аргументы жрет, он вам тут не компилер.
     
  • 2.41, макпыф (ok), 21:25, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Почему не 99? Он в разы более подтдерживаемый, чем 11-ый

    Минимальные версии компиляторов, нужных ядру, поддерживают 11. Так что ни чего не случиться.

    > проблем с совместимостью будет меньше (если они будут, конечно)

    Если они будут - не очень большие, C достаточно стабилен.

     
  • 2.48, pashev.me (?), 22:52, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Он в разы более подтдерживаемый

    Что на что делил анонимус?

     
     
  • 3.92, Аноним (-), 16:41, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Что на что делил анонимус?

    Плюс бесконечность на NaN :)

     
     
  • 4.99, Аноним (99), 18:19, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько я знаю, любая операция с NaN определена и результат равен NaN
     
     
  • 5.127, Аноним (-), 23:20, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Насколько я знаю, любая операция с NaN определена и результат равен NaN

    Э... то-есть наконец можно поделить на ноль? :)

     
  • 2.50, пох. (?), 23:20, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    дык кем "в разы поддерживаемый"-то? Проблема с совместимостью с чем-то более ранним чем насквозь гнилой и глючный пятый gcc (хотя бы уже достаточно в свое время залатанный 4.7) давно непроблема - ведро с ними несовместимо и сборку таким "немодным устаревшим дерьмом" не поддерживает.

    "зато сообщения об ошибках красивенькие!"(c) кто-то из местных.


     
     
  • 3.55, Аноним (53), 23:45, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как будто, внятные и выделенные сообщения об ошибках это недостаток.
     
     
  • 4.57, пох. (?), 23:55, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если для этого тебе придется на неведомую х-ню с необычной архитектуркой спортировать gcc - ты как запоешь? А, ну да, ну да, ты же не умеешь кодить...
     
     
  • 5.60, Аноним (53), 00:50, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Один ты тут, ля, умеешь.
     
  • 5.62, Аноним (53), 01:00, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хотел сказать, что чем тупее собщения компилятора, тем легче его портировать? Да, ты-то знаешь толк в кодинге.
     
  • 5.67, Аноним (-), 02:51, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Если для этого тебе придется на неведомую х-ню с необычной архитектуркой спортировать
    > gcc - ты как запоешь? А, ну да, ну да, ты же не умеешь кодить...

    Ну, наверное, все же не так как при нужде портировать туда еще и хруст :)))

     
     
  • 6.77, пох. (?), 13:02, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    С хрустом пока можно погодить - CoC.md и копипасту gpio драйверка можно первое время на такой платформе не поддерживать.

    Даже если это и зайдет дальше (запихнут, гуглю дури хватит), те гугль-онли драйверы там тоже будут без надобности еще долго.

     
     
  • 7.93, Аноним (-), 16:44, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да они пока там на core level своей вундерфафли гамно лаптем хлебают, на каждую новую итерацию патча новые причины и фичи, которые уже почти включены в следующую версию ночного горшка^W билда, так чот вот-вот станет збс. А пока запустите с нашего сайта бэкдор^W майнер^W шелскрипт который вам тут типа-отстроит что-то...
     
  • 5.88, Аноним (-), 16:32, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Если для этого тебе придется на неведомую х-ню с необычной архитектуркой спортировать
    > gcc - ты как запоешь?

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

     
  • 2.68, leap42 (ok), 05:54, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Почему не 99?

    В нём почти всё было ошибкой, труъ сишники его обычно презирают.

     
     
  • 3.89, Аноним (-), 16:34, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > В нём почти всё было ошибкой, труъ сишники его обычно презирают.

    На коде этих господ очень интересно запускать фуззинг и статический анализ. А потом их презирают не только хрустики, но и остальные сишники. Потому что напыщеные багоделы с уязвимым кодом - это не круто ни в раз. И это д@рьмо мы из вас таки выбьем совместными усилиями...

     

  • 1.34, pashev.me (?), 20:52, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Of course, the C standard being the bunch of incompetents they are,
    they in the process apparently made left-shifts undefined (rather than
    implementation-defined). Christ, they keep on making the same mistakes
    over and over. What was the definition of insanity again?

                      Linus

     
     
  • 2.45, Ordu (ok), 22:09, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Hey, some more googling on my part seems to say that somebody saw the
    light, and it's likely getting fixed in newer C standard version.

    So it was just a mistake, not actual malice. Maybe we can hope that
    the tide is turning against the "undefined" crowd that used to rule
    the roost in the C standards bodies. Maybe the fundamental security
    issues with undefined behavior finally convinced people how bad it
    was?

           Он же

     

  • 1.35, minimumlaw (?), 20:59, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    -Wno-shift-negative-value а много где оно есть? В принципе это чистое UB. Неужели проще подавить предупреждение, чем почистить код? Надо бы проверить а то патч сделать.
     
     
  • 2.42, макпыф (ok), 21:25, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Мб временно
     

  • 1.40, Аноним (40), 21:15, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    https://m.youtube.com/watch?v=QpAhX-gsHMs

    Вот теперь заживём.

     
  • 1.43, InuYasha (??), 22:04, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > пришлось бы повышать минимально поддерживаемую версию GCC.

    Да уж, не надо задирать без особой надобности.

     
  • 1.44, Анонн (?), 22:06, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дещять лет ждал этого! (с)
     
  • 1.52, Аноним (53), 23:25, 25/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >предложил перейти в ядре 5.18 на использование стандарта C11, опубликованного в 2011 году.

    Шёл 2022 год.

     
     
  • 2.56, thhh (?), 23:49, 25/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не шёл, а идёт. Не наркомань.
     
     
  • 3.61, Аноним (53), 00:52, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, пусть будет так :)
     
  • 3.113, Аноним (99), 20:02, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Не шёл, а идёт.

    Шёл, идёт, и будет есть.
    Сижу на БАД'ax

     

  • 1.69, морошка ягодка такая (?), 06:19, 26/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    После слова "изящно" перестал читать
     
     
  • 2.90, Аноним (-), 16:35, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > После слова "изящно" перестал читать

    Вы не любитель изящных искусств? Поклонник брутала? :)

     
     
  • 3.101, морошка ягодка такая (?), 20:51, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я вообще слово изящно считаю неприменимым к программированию.

     
     
  • 4.108, Аноним (107), 13:16, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Здравствуй, единомышленник! Я так же думаю про слово "морошка".
     
     
  • 5.112, морошка ягодка такая (?), 19:39, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "морошка" не имеет отношение ни к чему кроме ягод. Ты о чём?


     
  • 4.128, Аноним (-), 23:22, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > я вообще слово изящно считаю неприменимым к программированию.

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

     
     
  • 5.132, морошка ягодка такая (?), 20:40, 03/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Какой-нибудь Кнут с этим очень крепко не согласится. Но из-за таких считал
    > программирование и скатилось в вебмакакинг и джамшутинг.

    Извиняюсь, я практик просто

     

  • 1.71, Аноним (71), 08:29, 26/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > не возникнет непредвиденных проблем

    Да уж. В стандарте как в 11 так и в 17, не говоря про предидущие, американским по делому сказано что непредвиденое поведение ДОЛЖНО обрабатываться програмером. И в дополнение к этому выпустили целых два документа про безопасному программированию/кодированию на С и С++. И это ещё не Дейтейлв с Сикордом рекомендоваи, а целый АНСИ коммитет.
    Все знают что проблемы возникнуть могутбыть, и что их обрабатывать нужно. Но никто за это зарплаты не получает и не обрабатывает.
    Поэтому и баков куча.

     
  • 1.72, iPony129412 (?), 09:54, 26/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Луддиты какие-то…
     
  • 1.73, Аноним (73), 10:54, 26/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А у FreeBSD какой стандарт си?
     
     
  • 2.75, Аноним (-), 12:47, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не знаю.
     
     
  • 3.78, Аноним (78), 13:21, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почему?
     
     
  • 4.94, Аноним (-), 16:46, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему?

    Потому что не умеет плюсами опенсорса пользоваться. "Сорцы не читал но осуждаю!"

     
  • 2.80, Аноним (-), 13:31, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А у FreeBSD какой стандарт си?

    Доисторический!
    Как обычно, безнадежно отстают от перепончатых светочей прогресса, стагнируют и вообще "too slow to innovate" (©ВеликийОпеннетныйОналитег)!




    /usr/src/sys/conf/newvers.sh-TYPE="FreeBSD"
    /usr/src/sys/conf/newvers.sh:REVISION="12.3"
    ...
    /usr/src/sbin/dumpon/dumpon.c:static void _Noreturn
    /usr/src/sbin/ifconfig/ifconfig.c:static _Noreturn void usage(void);
    /usr/src/lib/libpmc/pmu-events/jevents.c:_Noreturn void _Exit(int);
    ...
    /usr/src/sys/netinet/libalias/alias_proxy.c: _Alignas(_Alignof(u_short)) u_char option[OPTION_LEN_BYTES];
    ...
                                                
    /usr/src/sys/kern/kern_tc.c: _Static_assert(_Generic(((struct timehands *)NULL)->member, \



    Ой!


     
     
  • 3.96, Аноним (-), 16:50, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > "too slow to innovate" (©ВеликийОпеннетныйОналитег)!

    Чувак из ixsystem который это выдал про опеннет вообще наверное не знает. А версия компилера сама по себе - ну, это такая очень внутреннея инновация, которая никому кроме кодеров не интересна.

    Отдельная ода славы инноваторам типа гангстера Масика. Вот это был инновационный подход к разработке софта, надо было еще какой-нибудь налет на банк, или ограбление дилижанса, чтоли, организовать. Тогда сюжет можно было бы продать кинокомпании. Впрочем, может и так купят :)

     
     
  • 4.97, Аноним (-), 17:50, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да не, это выдал ты - прочитав опять что-то, каким-то местом нет, не глазами , ... большой текст свёрнут, показать
     
     
  • 5.129, Аноним (-), 23:33, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это какой-то юзер там, довольно наглый - запостил перевод с манагерского на англ... большой текст свёрнут, показать
     
  • 2.95, Аноним (-), 16:47, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А у FreeBSD какой стандарт си?

    Юрского периода.

     
     
  • 3.98, Аноним (-), 17:57, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>> А у FreeBSD какой стандарт си?
    >> /usr/src/sys/kern/kern_tc.c:    _Static_assert(_Generic(((struct timehands *)NULL)->member
    > Юрского периода.

    Т.е. те древние времена до изобретения бананового смузи с овсяными хлопьями?

     
     
  • 4.130, Аноним (-), 23:33, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Т.е. те древние времена до изобретения бананового смузи с овсяными хлопьями?

    Сейчас в моде немного другие ингредиенты для смузи.

     
  • 2.111, Sin2x (ok), 19:33, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Они ориентируются на более широкий стандарт POSIX, который сейчас на C99.
     

  • 1.74, Аноним (-), 12:44, 26/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Текущий ратифицированный стандарт языка Си это C18. C17 - это всего лишь промежуточный черновик.
     
     
  • 2.103, Ordu (ok), 23:09, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    NOOOOOOO! Не может быть. Это же combo breaker. Они все нечётные. И у c++ тоже. C18 это неумелый фейк.
     

  • 1.104, ананас (?), 11:25, 27/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Грамотно было бы на MISRA C, но это нужно уметь правильно писать.
     
     
  • 2.114, Аноним (53), 07:40, 28/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну так не ставили задачу писать в соответсвии с MISRA. Поставят - научатся.
     
  • 2.124, Брат Анон (ok), 15:40, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Грамотно было бы на MISRA C, но это нужно уметь правильно писать.

    В том-то и дело. Никто не умеет писать грамотно на Си, даже те кто придумал мисру. Потому что Си -- сочинён. а не спроектирован.

     

  • 1.118, Брат Анон (ok), 14:49, 28/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С11?? В ядро?! Ну и хипстер.
     
     
  • 2.122, deeaitch (ok), 07:00, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не раст жешь
     
     
  • 3.123, Брат Анон (ok), 15:39, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну не раст жешь

    Я не знаю, что такое Раст. Его ещё не изобрели. Но стандарт, которому всего 11 лет (школьный т.е.) в ядро пихать ну никак нельзя. С89 ещё куда ни шло. Этот хоть отлежался малька.

     
     
  • 4.133, deeaitch (ok), 04:59, 04/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я не знаю, что такое Раст. Его ещё не изобрели.

    Вот тут ты 100% прав

    > Но стандарт, которому всего 11 лет (школьный т.е.)

    Ему не 11 лет. Ему минимум 22. Ты не с той стороны считал. Его 22 года собирали и обсуждали чтобы в 11-ом принять

     
     
  • 5.135, Брат Анон (ok), 14:05, 09/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ему не 11 лет. Ему минимум 22. Ты не с той стороны
    > считал. Его 22 года собирали и обсуждали чтобы в 11-ом принять

    А, ну тогда норм!)

     

  • 1.136, Neon (??), 01:49, 16/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не прошло и пол года.))) Быстренько они)))
     

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



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

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