The OpenNET Project / Index page

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



"Экспериментальная поддержка пересборки ядра Linux в Clang с ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от opennews (?), 21-Ноя-19, 11:29 
Кес Кук (Kees Cook), бывший главный сисадмин kernel.org и лидер Ubuntu Security Team, ныне работающий в компании Google над обеспечением защиты Android  и ChromeOS, подготовил экспериментальный репозиторий с патчами, позволяющими собрать ядро для архитектуры x86_64  с использованием компилятора Clang и активацией механизма защиты CFI (Control Flow Integrity). CFI обеспечивает выявление некоторых форм неопределённого поведения, которые потенциально могут привести к нарушению нормального потока управления (control flow) в результате выполнения эксплоитов...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=51909

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –1 +/
Сообщение от netricksemail (?), 21-Ноя-19, 11:40 
Любопытно, там же куча кода написана с расширениями gnu... Как он это обошел?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +3 +/
Сообщение от Medoed (?), 21-Ноя-19, 11:48 
Clang умеет в большинство расширений GNU.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +2 +/
Сообщение от Ordu (ok), 21-Ноя-19, 11:50 
Там не особо-то и используется, в смысле далеко не все расширения используются. Шланг же поддерживает некоторые из этих расширений.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

15. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от кельвин (?), 21-Ноя-19, 13:41 
вроде как написали врапер для каждого из ядровых GCCизмов, но это не точно.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

32. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +2 +/
Сообщение от Аноним84701 (ok), 21-Ноя-19, 16:33 
> Любопытно, там же куча кода написана с расширениями gnu... Как он это обошел?

https://releases.llvm.org/6.0.0/tools/clang/docs/LanguageExt...
> In addition to the language extensions listed here, Clang aims to support a broad range of GCC extensions.


  -std=<standard>
              Specify the language standard to compile for.
...
                 gnu89
                 gnu90
                    ISO C 1990 with GNU extensions
...
                 gnu99
                    ISO C 1999 with GNU extensions

...
                 gnu11
                    ISO C 2011 with GNU extensions
...    
                 gnu17
                    ISO C 2017 with GNU extensions


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

33. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –4 +/
Сообщение от Аноним (33), 21-Ноя-19, 17:17 
А goto только на той неделе добавили...
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

36. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –2 +/
Сообщение от Ivan_83 (ok), 21-Ноя-19, 17:39 
Враки, я goto в clang юзал ещё в 3.3 чтоли, и фряха бы без goto не собралась.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

40. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (33), 21-Ноя-19, 18:48 
> Враки, я goto в clang юзал ещё в 3.3 чтоли, и фряха
> бы без goto не собралась.

Как ты его юзал интересно, если только в 9 добавили? Ври да не завирайся.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

44. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +1 +/
Сообщение от Аноним84701 (ok), 21-Ноя-19, 19:35 
> Как ты его юзал интересно, если только в 9 добавили? Ври да  не завирайся.

Наверное молча – добавленный "asm goto" != "C-goto" и сам по себе довольно специфичная штука.
https://bugs.llvm.org/show_bug.cgi?id=9295

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

46. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (33), 21-Ноя-19, 19:44 
>> Как ты его юзал интересно, если только в 9 добавили? Ври да  не завирайся.
> Наверное молча – добавленный "asm goto" != "C-goto" и сам по себе
> довольно специфичная штука.
> https://bugs.llvm.org/show_bug.cgi?id=9295
>специфичная штука

Да вот только ядро без неё было не собрать. Об этом я и сказал изначально. Не такая уж и специфичная, просто не принято у нас писать на ассемблере (тем более на гнутом, логичнее сразу взять насм/фасм). Если бы больше программистов вручную оптимизировали свой высокоуровневый сишный код, эта фича могла бы быть более популярной.

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

48. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +1 +/
Сообщение от Аноним84701 (ok), 21-Ноя-19, 20:54 
>>> Как ты его юзал интересно, если только в 9 добавили? Ври да  не завирайся.
>> Наверное молча – добавленный "asm goto" != "C-goto" и сам по себе
>> довольно специфичная штука.
>> https://bugs.llvm.org/show_bug.cgi?id=9295
>>специфичная штука
> Да вот только ядро без неё было не собрать.

https://lwn.net/Articles/734071/ (2017)
https://lwn.net/Articles/655544/ (2015)
> There are currently five patches needed in order to build a kernel for the x86 architecture.

--
> Об этом я  и сказал изначально.

Все может быть -- но телепаты, увы, в отпуске.

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

49. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (33), 21-Ноя-19, 21:00 
Странные ссылки. Это старые мамонтовые ядра, нынешним она вроде как обязательно нужна.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

50. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Ivan_83 (ok), 23-Ноя-19, 01:47 
Не задумываясь, не было у меня проблем с этим, всё собиралось и работало.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

56. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от nc (ok), 26-Ноя-19, 08:06 
Расширения gnu давно пора принять в стандарт языка. Простые и полезные.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –4 +/
Сообщение от Аноним (5), 21-Ноя-19, 11:59 
gcc капец? gcc-сец?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +9 +/
Сообщение от пох. (?), 21-Ноя-19, 12:15 
в анально-огороженной инфраструктуре гуглозондов - да, давно к этому шло.

Мэйнстримные линуксы как собирались gcc, так и будут, не плачьте.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

24. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (24), 21-Ноя-19, 14:54 
Ага, X-капец, SysVinit-капец, GCC-капец, ... Только они всё живут и здравствуют.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

35. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от evkogan (?), 21-Ноя-19, 17:33 
Еще совсем недавно производительность кода собранного шлангом сильно отставала.
Для ядра это особенно критично.
И я не верю что это уже победили.
Так что это шаг туда, но идти еще долго.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

37. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Ivan_83 (ok), 21-Ноя-19, 17:40 
Там очень не очевидно с производительностью, потому что какие то вещи получаются быстрее какие то медленее.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

42. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +1 +/
Сообщение от Аноним84701 (ok), 21-Ноя-19, 19:06 
> Еще совсем недавно производительность кода собранного шлангом сильно отставала.
> Для ядра это особенно критично.

https://www.phoronix.com/scan.php?page=article&item=gcc9-cla...
Отставание, как оно есть.

Ну и как раз в ядре без бенчей  clang vs gcc как-то не очень верится в "критичную" разницу [работы ядра], ведь
такая "критичная" оптимизация (обычно) подразумевают значительную "трансформацию" изначального кода  -- что как раз в ядре (обычно таки) совсем нежелательно.
См. "теплые отзывы" на "вумничание" того же gcc:
http://lkml.iu.edu//hypermail/linux/kernel/1407.3/00650.html
> Re: Random panic in load_balance() with 3.16-rc
> From: Linus Torvalds
> Lookie here, your compiler does some absolutely insane things with the spilling, including spilling a *constant*.

https://lore.kernel.org/patchwork/patch/773330/
> gcc-7 has an "optimization" pass that completely screws up, and generates the code expansion for the (impossible) case

https://lkml.org/lkml/2018/6/7/980
> Mark notes that gcc optimization passes have the potential to elide necessary invocations of this instruction sequence, so mark the asm volatile.

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

55. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Softwayeremail (?), 25-Ноя-19, 03:28 
> Для ядра это особенно критично.

Это ещё почему?

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

7. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –4 +/
Сообщение от Аноним (7), 21-Ноя-19, 12:38 
Так это что, я наконец могу перестать говорить, что я использую "ГАНУСЛЭШЛИНУКС"???
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –4 +/
Сообщение от Аноним (8), 21-Ноя-19, 12:45 
да, когда сумеешь обойтись без mv, cp, cat, dd... и прочего гнутого шлака
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (9), 21-Ноя-19, 13:01 
Их уже переписывают на Rust?
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –2 +/
Сообщение от Аноним (10), 21-Ноя-19, 13:05 
Их можно взять из BSD.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –1 +/
Сообщение от Аноним (33), 21-Ноя-19, 13:11 
Только если не пользоваться.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

43. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +2 +/
Сообщение от Аноним84701 (ok), 21-Ноя-19, 19:12 
> Только если не пользоваться.

Не стесняйтесь аргументировать более, хм,  подробно.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

29. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +1 +/
Сообщение от имя (ok), 21-Ноя-19, 15:25 
> Их уже переписывают на Rust?

2014: https://www.opennet.ru/opennews/art.shtml?num=39989

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +1 +/
Сообщение от Аноним (12), 21-Ноя-19, 13:14 
Есть бсд версии этих утилит
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +1 +/
Сообщение от Аноним (13), 21-Ноя-19, 13:17 
Компилятор тут вообще ни при чём.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

17. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –1 +/
Сообщение от fooser (?), 21-Ноя-19, 14:26 
с каких это пор busybox стал гнутым софтом?
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

18. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –2 +/
Сообщение от fooser (?), 21-Ноя-19, 14:29 
интересно, если я скомпиляю ведро линукса clang-ом, обвешу systemd, busybox, zsh и прочими негнутыми аналогами системного софта - я ж могу не называть Линукс гну/линуксом?

кстати инетересно подсчитать сколько в современных дистрах осталось гнутого софта.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

25. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (24), 21-Ноя-19, 15:01 
Ну-ка расскажи нам, как ты ЛёнькоД заставишь работать с busybox и mucl?
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

19. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +1 +/
Сообщение от Аноним (19), 21-Ноя-19, 14:30 
Действительно.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (19), 21-Ноя-19, 14:32 
А, я думал это ирония, а ты реально поехавший.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от ан (?), 21-Ноя-19, 14:37 
А зачем? Что это в идеале даст? Больше вопрос в целом о настойчивом желании собрать ядро клангом, чем защите CFI.
С переводом лисы на кланг время компиляции уменьшилось примерно в полтора раза, лиса стала пошустрее на старом железе, но по началу вылетала на js менюшках, сейчас вроде вылечили. Но ядро то зачем?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –1 +/
Сообщение от Аноним (24), 21-Ноя-19, 15:11 
"Мы шлангисты тоже так могём, мы крутые!"
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

28. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (28), 21-Ноя-19, 15:24 
Хотят перестать зависить от GNU. Android – это Non-GNU Linux.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

39. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +1 +/
Сообщение от Аноним (39), 21-Ноя-19, 18:05 
А зависимость теперь от Apple их не беспокоит? :-) Ворон ворону глаз не выклюет конечно, но по моему вряд ли в этом дело. Скорее верится в энергоэффективность и экономию на оплате электричества, для ДЦ это может быть заметно.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

41. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –1 +/
Сообщение от Аноним (41), 21-Ноя-19, 18:51 
>А зависимость теперь от Apple их не беспокоит?

А нет никакой зависимости от Apple. У GCC рантаймовые компоненты либо под LGPLv3, либо используют хитрые условия про eligible compilation process, а у шланга все пермессивное.

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

45. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним84701 (ok), 21-Ноя-19, 19:40 
> А зависимость теперь от Apple их не беспокоит? :-)

Ну, зависимость WebKit от Apple Гугла как-то не очень остановила ;)

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

51. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (51), 24-Ноя-19, 17:56 
Ну так сказали же, ворон ворону глаз не выклюет.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

30. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –3 +/
Сообщение от Аноним (33), 21-Ноя-19, 15:46 
Ядро слишком долго компилируется. Они экономят электроэнергию. Корпорации очень беспокоят вопросы эффективности и сохранения природы (по этой же причине они используют угольные электростанции).
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

47. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +2 +/
Сообщение от Аноним (33), 21-Ноя-19, 20:29 
Вот минусуете, а ведь это основной "аргумент" сторонников шланга. :D

И в корпоративных презенташках а ля "зачем нам нужен шланг" тоже видел регулярно.

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

52. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (51), 24-Ноя-19, 17:58 
>сохранения природы
>угольные электростанции

Здесь какое-то противоречие.

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

54. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (33), 24-Ноя-19, 18:02 
>>сохранения природы
>>угольные электростанции
> Здесь какое-то противоречие.

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

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

38. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Ivan_83 (ok), 21-Ноя-19, 17:42 
Наверное линуксойдов заело что фряха собирается шлангом без патчей шланга, а линукс нет, вот и починили, как смогли :)
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

53. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (51), 24-Ноя-19, 18:00 
Мне, как пользователю Linux, пофиг. Главное, что и дальше GCC собиралось, им и буду собирать.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

23. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –3 +/
Сообщение от Вуыкло (?), 21-Ноя-19, 14:50 
Лучше б на Rust переписали
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +/
Сообщение от Аноним (24), 21-Ноя-19, 15:14 
Что на Rust переписать, всё ядро? Лет за сколько тогда?
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

31. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  +1 +/
Сообщение от НяшМяш (ok), 21-Ноя-19, 16:15 
Для них уже написали идеальную систему, но им всё равно мало... https://www.redox-os.org/
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

34. "Экспериментальная поддержка пересборки ядра Linux в Clang с ..."  –1 +/
Сообщение от Вуыкло (?), 21-Ноя-19, 17:27 
Это был вовсе не сарказм, тебе не стоит переживать о своем IQ
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

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