LINUX.ORG.RU

Линус Торвальдс сказал «нет» коду с предупреждениями компиляции

 , , , ,


0

1

Линус Торвальдс изменил параметры компиляции кода ядра Linux по умолчанию. Теперь при сборке используется параметр -Werror, приводящий к интерпретации любого предупреждения как ошибки и, соответственно, к остановке сборки ядра с этой ошибкой. Данное изменение конфигурируется новым параметром WERROR, который включен по умолчанию.

По мнению Линуса, изменение должно повлиять на качество кода и в частности, на качество пулл-реквестов, которые он получает. Для большего эффекта он постучал по дереву (Knock wood) прямо в сообщении к коммиту.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: hobbit (всего исправлений: 3)

Ответ на: комментарий от Papant

О, сиксот 80 левела пожаловали. Доброго Времени суток! Как Вы относитесь к сабжу топика?

anonymous
()
Ответ на: комментарий от anonymous

Откроете для себя много нового.

И что ты (я, аноним) открыл? Нахера мне (тебе, анониму) разговаривать с тобой (мной, анонимом), да еще перечитывать? Совсем припух галавой?

anonymous
()
Ответ на: комментарий от anonymous

Да, совсем бетон бащка стал. Последняя надежда на молодежь, пилящую ядро на ржавом. Эх, дожить бы!

anonymous
()
Ответ на: комментарий от anonymous

бетонным бетонитом

И как себя ведет это шанхай композитный (деньги!) материал при переходе альпийскими коровами 0 градусов по Цельсию?

anonymous
()
Ответ на: комментарий от anonymous

переходе альпийскими коровами 0 градусов по Цельсию? через северный кавказ прямо по хребту.

Пофиксил. Кроссаучег! Могете. Помню (узнаю).

Да как, примерно как задающий глупые вопросы на собеседовании чел, который лучше бы монетки подкинул (орел/решка)

anonymous
()
Ответ на: комментарий от ne-vlezay

Дальше только найденные баги самому исправлять. Но не все ж программисты. Так что репорт – уже хорошо.

Надеюсь, поправят.

apt_install_lrzsz ★★★
()
Ответ на: комментарий от anonymous

на собеседовании

Ну как, прошел, берете раба на галеры? Погода отличная - переходит 0 градусов по Цельсию

anonymous
()
Ответ на: комментарий от anonymous

Тот анон понял о чем и почему. А в целом у нас по-модному теперь. Матрицы самоуправления. Какие рабы? Рабы на галерах токвма в кремле рук не покладають.

anonymous
()
Ответ на: комментарий от anonymous

И имя ему Легион. Кстати, спасибо что напомнили. Надо молодые пополнения ознакомить с кодексом.

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

Вот так Линус Торвальдс всего одной опцией превратил С в Rust.

gcc Rust или clang Rust? У них предупреждения разные.

hummer
() автор топика

Линус раскритиковал мердж кода NTFS от компании Paragon через GitHub

Спешите видеть:

https://www.theregister.com/2021/09/06/github_merges_useless_garbage_says/

An example of a well-commented change came from Torvalds yesterday, when he amended the Makefile used for compiling the kernel to "enable ‘-Werror’ by default for all kernel builds … but make it a config option so that broken environments can disable it when required.

Можно сказать, что -Werror было сделано в назидение компании Paragon.

Для абсолютных Ъ всё целиком:

Linus Torvalds will pull Paragon Software’s NTFS driver into the 5.15 kernel source – but he complained about the use of a GitHub merge in the submission, saying that GitHub «creates absolutely useless garbage merges.»

Early last month Torvalds gave Paragon Software a nudge that it really should submit a pull request – an actual submission of code to be merged into the kernel source – in order for its read-write NTFS driver to be included in the forthcoming 5.15 release, for which the merge window is currently open. NTFS is the native Windows file system and Paragon’s implementation will improve interoperability, versus the existing driver which has limited write support.

On Friday Paragon duly submitted its pull request, saying: «Current version works with normal/compressed/sparse files and supports acl, NTFS journal replaying.»

However, the company is still getting to grips with the submission process and Torvalds had several comments to make, intended to improve future pull requests.

First, he said the pull request should have been signed. «In a perfect world, it would be a PGP signature that I can trace directly to you through the chain of trust, but I’ve never actually required that,» he said.

Second, he noted that the code in the pull request included merge commits done with the GitHub web user interface. «That’s another of those things that I really don’t want to see – github creates absolutely useless garbage merges, and you should never ever use the github interfaces to merge anything,» he said.

He added: «[G]ithub is a perfectly fine hosting site, and it does a number of other things well too, but merges is not one of those things.»

Torvalds has complained about aspects of GitHub before, saying in 2012: «I don’t do github pull requests. github throws away all the relevant information, like having even a valid email address for the person asking me to pull. The diffstat is also deficient and useless.»

Note that the git request-pull command is different from the GitHub pull request feature. The ensuing forthright thread has more information on the subject.

Third, Paragon’s repository has commit messages which lack information, like «Merge branch ‘torvalds:master’ into master.»

Torvalds said that «Linux kernel merges need to be done properly.» He added: «That means proper commit messages with information about what is being merged and why you merge something. But it also means proper authorship and committer information etc. All of which github entirely screws up.» Don’t do this, said Linus Torvalds: a merge using the GitHub user interface

The pull request was nevertheless merged. «The initial pull often has a few oddities and I’ll accept them now, but for continued development you need to do things properly,» said Torvalds.

An example of a well-commented change came from Torvalds yesterday, when he amended the Makefile used for compiling the kernel to «enable ‘-Werror’ by default for all kernel builds … but make it a config option so that broken environments can disable it when required.»

The meaning of -Werror is «Make all warnings into errors,» requiring stricter discipline for code that would otherwise compile but with warnings about suboptimal code.

Torvalds added that «we… will disable specific over-eager warnings as required, if we can’t fix them.»

«Hopefully this will mean that I get fewer pull requests that have new warnings that were not noticed by various automation we have in place… Knock wood,» he said. ®

hummer
() автор топика

А ведь анон предупреждал Линус Торвальдс сказал «нет» коду с предупреждениями компиляции (комментарий)

Вообще Линус повел себя, как истинный дипломат. И фи высказал и решение протащил. Ручки якобы умыл. Такие дела.

anonymous
()
Ответ на: комментарий от anonymous
Ответ на: комментарий от anonymous

Со скорбью в душе анон вангует: в горизонте 3-4 лет гну/линукс в том виде, в котором мы его знали и любили мы потеряем. К сожалению! Помяните мое слово.

Зы. И кое кому не нужно обвинять анона, что он радуется этому.

anonymous
()
Ответ на: комментарий от anonymous

Ну а если кто-то подумает, что анон параноик, а это всего-лишь нтфс, отвечу: так готовят массовое сознание к большим переменам. Почутку, поэтапно, давая людям привыкнуть, чтобы потом они не слишком бурлили. Все, как по учебнику. Все старо, как мир.

anonymous
()
Ответ на: комментарий от Xintrea

Никакой точно также как разные мажорные версии gcc не компилируют «повторяемые сборки». Всего скорее прямо в си коде будут через дефайны проверять версию GCC и выполнять собирать такой код что будет для «Мастера среднего пальца» не генерировать ворненги.

bhfq ★★★★★
()
Ответ на: комментарий от anonymous

Забей. Задача не имеет решения. Нельзя выбрать максимум не зная длинны всего ряда. Половину … и как можно знать где половина а где нет ?

mx__ ★★★★★
()
Ответ на: комментарий от Xintrea

Значит будет рекомендованная версия компилятора

deterok ★★★★★
()
Ответ на: комментарий от anonymous

Товарищ anc забыли залогиниться?

anonymous
()

Кажется он что-то подозревает. Ядро это колосс на глиняных ногах, а Линус бегает и ставит подпорки. В нормальных системах сначала собирается тулчейн под архитектуру, потом уже ядро, тогда можно включать самые жестокие проверки. Ну или хотя бы иметь возможность указания версии и типа компилятора. Кстати, я бы на его месте, раз он с MS заигрывает, начал компанию по компиляции ядра в VS, сообщество бы занялось полезным делом.

anonymous
()
Ответ на: комментарий от anonymous

Коллега, вот прям не в бровь а в глаз!

anonymous
()

Линус Торвальдс сказал «нет» коду с предупреждениями компиляции

Не все же?

anonymous
()

Почему в Linux ядро - монолит?
Неужели производительность сильно просядет если не монолит будет?

anonymous
()
Ответ на: комментарий от anonymous

Штабильность и так ниже плинтуса. Микроядро от нгн пейсателей уничтожит все.

anonymous
()

Ни чего себе, это ж нужно быть уверенным что в новых компиляторах не появятся новые предупреждения. Хотя дело конечно очень нужное!

abondarev ★★★
()
Ответ на: комментарий от anonymous

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

Это те нормальные системы, где всё даже не гвоздями прибито, а уже на сварке держится?

devl547 ★★★★★
()
Последнее исправление: devl547 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Кстати, я бы на его месте, раз он с MS заигрывает, начал компанию по компиляции ядра в VS, сообщество бы занялось полезным делом.

Дожились …

anonymous
()

Учитывая что в планах добавить «-Wzero-length-bounds» и «-Warray-bounds» - см. патчи Kees Cook, будет весьма хорошо.

zabbal ★★★★★
()
Ответ на: комментарий от Xintrea

Это хорошо и правильно, вот только появление ворнингов на одном и том же коде зависит от версии компилятора, разве нет?

И что?

А где гарантия, что ворнингов не будет ни на одной версии GCC?

Почему такая гарантия должна быть?

anonymous
()
Ответ на: комментарий от abondarev

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

Почему?

anonymous
()
Ответ на: комментарий от pingvinek

Тиран

Ввел летальную цензуру на ошибки. Один раз ошибся - смертная казнь!

anonymous
()
Ответ на: комментарий от hummer

Красота бесценна. Для остального есть карта мира.

anonymous
()
Ответ на: комментарий от anonymous

Линус раскритиковал мердж…

через инстаграм.

Старперы не пускают новомодномолодежные методологии разработки ПО.

Ему не понравилось оформление и фейковый email address, используемый GitHub-ом. Плохие комментарии в коммитах - это действительно плохо. А фейковый email address, кого на самом деле интересует. Можно подумать, что адрес самого Линуса времён первых версий до сих пор актуальный.

hummer
() автор топика
Ответ на: комментарий от hummer

Когда не можешь придраться к содержанию, придираешься к форме. Особенно комично это выглядит с Werror: содержания ноль, зато сколько много формы.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.