The OpenNET Project / Index page

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



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

Оглавление

Релиз ядра Linux 5.16, opennews (?), 10-Янв-22, (0) [смотреть все]

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


78. "Релиз ядра Linux 5.16"  –6 +/
Сообщение от Аноним (78), 10-Янв-22, 14:06 
Я уже устал ждать, когда в ядре включат поддержку раста - только из-за этого не начинаю изучать этот чудесный язык.
Ответить | Правка | Наверх | Cообщить модератору

100. "Релиз ядра Linux 5.16"  –1 +/
Сообщение от Аноним (-), 10-Янв-22, 14:35 
У чудесного языка своё ядро - Redox. Чистый Си идеален для Линукса. Раст только усложнит в плохую сторону Линуксовое ядро. Во-первых, придётся иметь два разных компилятора чтобы собрать ядро. Во-вторых, Си работает без рантайма, Раст имеет рантайм. В третьих, исходники на Расте будут часами компиляться. В четвёртых, синтаксис Раста сложен и трудночитаем. исходники на Расте могут быть более раздутымив итоге размеры ядра будут на порядок больше. чем если бы были написаны на Си.
Ответить | Правка | Наверх | Cообщить модератору

107. "Релиз ядра Linux 5.16"  +1 +/
Сообщение от Газпром (?), 10-Янв-22, 14:50 
> Во-вторых, Си работает без рантайма,
> Раст имеет рантайм. В третьих, исходники на Расте будут часами компиляться.

Благодарим за хороший, годный, объемный выброс горючего газа в эти тяжелые, холодные времена!


https://www.opennet.ru/openforum/vsluhforumID3/124921.html#322


$ ll hello
-rwxr-x---   496B 30 Jul. 12:41 hello*
$  readelf -d hello  
There is no dynamic section in this file.
$ objdump -d  hello


Disassembly of section .text:
00000000004000b0 <.text>:
  4000b0:    55                       push   %rbp
  4000b1:    48 89 e5                 mov    %rsp,%rbp
  4000b4:    6a 04                    pushq  $0x4
  4000b6:    58                       pop    %rax
  4000b7:    6a 09                    pushq  $0x9
  4000b9:    5a                       pop    %rdx
  4000ba:    be cc 00 40 00           mov    $0x4000cc,%esi
  4000bf:    31 ff                    xor    %edi,%edi
  4000c1:    0f 05                    syscall
  4000c3:    6a 01                    pushq  $0x1
  4000c5:    58                       pop    %rax
  4000c6:    31 ff                    xor    %edi,%edi
  4000c8:    0f 05                    syscall
  4000ca:    eb fe                    jmp    0x4000ca


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

130. "Релиз ядра Linux 5.16"  –1 +/
Сообщение от Аноним (68), 10-Янв-22, 15:44 
Это программа не на rust.
Ответить | Правка | Наверх | Cообщить модератору

143. "Релиз ядра Linux 5.16"  +/
Сообщение от Аноним (143), 10-Янв-22, 16:08 
> Это программа не на rust.

"Потому что потому и вообще, не считается!1!"(с) ?


$ cat hello.rs
#![no_std]
#![no_main]
use core::panic::PanicInfo;
use syscall::syscall;
#[panic_handler]
fn panic(_info: &PanicInfo) -> ! { loop {} }

#[no_mangle]
pub extern fn _start() -> ! {
    let message = "Hello World\n".as_bytes();
    unsafe {
        syscall!(WRITE, 0, message.as_ptr(), message.len());
        syscall!(EXIT,0);
    }
    loop {}
}


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

150. "Релиз ядра Linux 5.16"  –2 +/
Сообщение от Аноним (68), 10-Янв-22, 16:16 
> #![no_std]
> #[panic_handler]

После этого попробуй писать на rust'е с гарантиями "безопасности" rust'а. Кое-кто попытался, до сих в панике. Паника - это неотрывная часть rust.

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

159. "Релиз ядра Linux 5.16"  +3 +/
Сообщение от Аноним (159), 10-Янв-22, 16:34 
> Раст имеет рантайм.
> Это программа не на rust.
> После этого попробуй писать на rust'е с гарантиями "безопасности" rust'а.

Зачетные виляния.
> Кое-кто попытался, до сих в панике. Паника - это неотрывная часть rust.

https://github.com/dtolnay/no-panic
> A Rust attribute macro to require that the compiler prove a function can't ever panic.

https://github.com/rust-lang/rust/pull/86810/commits
> alloc: no_global_oom_handling: disable new()s, pin()s,

Газпром выражает Вам искреннюю благодарность!


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

167. "Релиз ядра Linux 5.16"  –2 +/
Сообщение от Аноним (68), 10-Янв-22, 17:02 
> Зачетные виляния.

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

> https://github.com/dtolnay/no-panic

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

> alloc: no_global_oom_handling: disable new()s, pin()s
> Газпром выражает

Даже не смешно.

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

176. "Релиз ядра Linux 5.16"  +2 +/
Сообщение от Аноним (176), 10-Янв-22, 17:22 
>> Зачетные виляния.
> Во-первых, я другой аноним.

И поэтому можно смело писать о бузине в огороде?
Удобно-то как!
> Во-вторых, в дискуссии анонимов апеллировать к "вилянию" бессмысленно в виду отсутствия  хвоста-контекста.

Тебе привели контекст в цитате. Каждый отметившийся в дискуссии "Воен Антирастового Сопротивления" спрыгивал с "неудобной" темы.

> В-третьих, ядро линукс не на языке Си. Язык - это не только
> синтаксис, но стандартная библиотека.

З-знаток.
man c99


5.1.2.1 Freestanding environment
In a freestanding environment (in which C program execution may take place without any
benefit of an operating system), the name and type of the function called at program
startup are implementation-defined. Any library facilities available to a freestanding
program, other than the minimal set required by clause 4, are implementation-defined.

The effect of program termination in a freestanding environment is implementation-
defined.

> Паника - это неотрывная часть rust.
>> https://github.com/dtolnay/no-panic
> Ты, давай, не шлангуй, напиши _никогда_ не паникующее

И опять спрыг с темы. А, ну да, это был другой аноним, просто номер совпал!

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

187. "Релиз ядра Linux 5.16"  –1 +/
Сообщение от Аноним (68), 10-Янв-22, 17:47 
> minimal set required by clause 4

Как с этим в ядре?

> implementation-defined

Отличные гарантии языка, MSVC подойдет?

> И опять спрыг с темы.

Сам-то намного ниже спрыгиваешь: пиши давай никогда непаникующую rust-программу.

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

190. "Релиз ядра Linux 5.16"  +1 +/
Сообщение от Аноним (190), 10-Янв-22, 18:09 
>> minimal set required by clause 4
> Как с этим в ядре?

Возьми да посмотри. Это ты ведь пытаешься доказать, что "ядро на самом деле не на Си!".

>> implementation-defined
> Отличные гарантии языка, MSVC подойдет?

Сlang и gcc вполне подойдут, для старых ядер и tcc, а майки ... они уже осилили полную реализацию c99 или все еще "уже почти совсем, но ..."?
А гарантии вполне нормальные - ну т.е. из реального мира, а не анонимных фантазий и "логики", следуя которым, на Си вообще ничего нет, кроме пары хелловордов ...


> Паника - это неотрывная часть rust.
>> https://github.com/dtolnay/no-panic
> Ты, давай, не шлангуй, напиши _никогда_ не паникующее
> Сам-то намного ниже спрыгиваешь: пиши давай никогда непаникующую rust-программу.

Сам спрыгнул с темы на какие-то бредовые фантазии - сам и "доказывай" свой бред.


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

191. "Релиз ядра Linux 5.16"  –4 +/
Сообщение от Аноним (68), 10-Янв-22, 18:27 
> Возьми да посмотри. Это ты ведь пытаешься доказать, что "ядро на самом
> деле не на Си!".

Нет, ты посмотри! Это ты упорно доказываешь, что ядро написанное на gnu-расширениях написан на _стандартном_ языке си.

> Сlang и gcc вполне подойдут

А sun(oracle) сс подойдет? Говорят, он на 100% си поддерживает... в отличии от...


> Сам спрыгнул с темы на какие-то бредовые фантазии - сам и "доказывай"
> свой бред.

Ты сегодня напишешь rust-программу без паники?

> https://github.com/dtolnay/no-panic

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

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

201. "Релиз ядра Linux 5.16"  +2 +/
Сообщение от Аноним (201), 10-Янв-22, 19:47 
> Чистый Си идеален для Линукса. Раст только усложнит в плохую сторону Линуксовое ядро.
> В-третьих, ядро линукс не на языке Си.
> Нет, ты посмотри! Это ты упорно доказываешь, что ядро написанное на gnu-расширениях
> написан на _стандартном_ языке си.

Если у Анонимных Военов Антирастового Сопротивления шиза или они читают опой вместо глаз ... то это исключительно их проблемы.

>> Сlang и gcc вполне подойдут
> А sun(oracle) сс подойдет? Говорят, он на 100% си поддерживает... в отличии от...

Воены, вы там уже определитесь - "Чистый Си идеален для Линукса" или все же "ядро линукс не на языке Си.", ну и соотв. связать с темой не забудте. А то ваши рандомные спрыги - утомляют.


>> Сам спрыгнул с темы на какие-то бредовые фантазии - сам и "доказывай"
>> свой бред.
> Ты сегодня напишешь rust-программу без паники?

Повтори еще пару раз, порадуй Газпром ...


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

204. Скрыто модератором  –2 +/
Сообщение от Аноним (68), 10-Янв-22, 20:12 
Ответить | Правка | К родителю #201 | Наверх | Cообщить модератору

206. "Релиз ядра Linux 5.16"  +/
Сообщение от Поджигатель Пятых Точек (?), 10-Янв-22, 20:41 
>> https://github.com/dtolnay/no-panic
>> Functions that require some amount of optimization to prove that they do not panic may no longer compile in debug mode after being marked #[no_panic].
> И да, твоя программа компилируется, то есть с точки зрения языка программа
> правильная, но ругается при линковке, что нет "паникующей" функции.

Воены, осильте уже чтение или хотя бы гуглотранслейт и попробуйте cargo build --release

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

211. "Релиз ядра Linux 5.16"  –1 +/
Сообщение от Аноним (68), 10-Янв-22, 21:05 
> Воены, осильте уже чтение или хотя бы гуглотранслейт и попробуйте cargo build
> --release

Ничего я не запускал. Буду я еще запускать костыли

Но,вот, ты скажи мне, Мирный Житель, мне каждую функцию помечать [no_panic]? В том числе чужие/стандартные? Что делать, если если panic="abort"? И, да, проверяет только помеченные, а паника как была, так и осталась.

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

214. "Релиз ядра Linux 5.16"  +1 +/
Сообщение от Поджигатель Пятых Точек (?), 10-Янв-22, 21:23 
> И да, твоя программа компилируется, то есть с точки зрения языка программа правильная, но ругается при линковке, что нет "паникующей" функции.

...
> Ничего я не запускал. Буду я еще запускать костыли

Эталонный Опеннетный Аноним! Хоть сейчас в Палату Мер и Весов!

> Но,вот, ты скажи мне, Мирный Житель, мне каждую функцию помечать [no_panic]? В
> том числе чужие/стандартные? Что делать, если если panic="abort"? И, да, проверяет
> только помеченные, а паника как была, так и осталась.

Для начала - научиться читать:
> Panic detection happens at link time across the entire dependency graph

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

215. "Релиз ядра Linux 5.16"  –1 +/
Сообщение от Аноним (68), 10-Янв-22, 21:27 
Ладно. Каждый вопрос отдельным сообщением

Каждую функцию помечать [no_panic]?

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

217. "Релиз ядра Linux 5.16"  +/
Сообщение от Поджигатель Пятых Точек (?), 10-Янв-22, 21:37 
> Ладно. Каждый вопрос отдельным сообщением
> Каждую функцию помечать [no_panic]?

Ладно, в качестве исключения, переведу "Panic detection happens at link time across the entire dependency graph":
"Обнаружение паники происходит во время линковки по всему графу зависимостей."

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

219. "Релиз ядра Linux 5.16"  –2 +/
Сообщение от Аноним (68), 10-Янв-22, 21:43 
Ладно, еще раз повторю.

Паника обнаруживается только у помеченной функции?

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

221. "Релиз ядра Linux 5.16"  +1 +/
Сообщение от Поджигатель Пятых Точек (?), 10-Янв-22, 21:52 
> Ладно, еще раз повторю.
> Паника обнаруживается только у помеченной функции?

Ладно, еще раз разъясню:
у помеченной функции и у всех ее зависимостей.


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

222. "Релиз ядра Linux 5.16"  –1 +/
Сообщение от Аноним (68), 10-Янв-22, 21:57 
> у помеченной функции и у всех ее зависимостей.

Следующий вопрос: что делать с чужими/стандартными непомеченными функциями?


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

227. "Релиз ядра Linux 5.16"  +/
Сообщение от Поджигатель Пятых Точек (?), 10-Янв-22, 22:38 
>> у помеченной функции и у всех ее зависимостей.
>> "Panic detection happens at link time across the entire dependency graph":
>> "Обнаружение паники происходит во время линковки по всему графу зависимостей."
> Следующий вопрос: что делать с чужими/стандартными непомеченными функциями?

Наверное, все же научиться читать?
И домашним заданием: задать себе вопрос, как функция попадает в граф зависимостей?
«Правильно заданный вопрос – половина ответа»(с)

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

230. "Релиз ядра Linux 5.16"  –2 +/
Сообщение от Аноним (68), 10-Янв-22, 23:05 
> И домашним заданием: задать себе вопрос, как функция попадает в граф зависимостей?

Потому что его дергает чужая/стандартная непомеченная функция? В случае библиотеки/модуля ядра так вообще много точек входа - лес зависимостей. Весь лес пометить, а если функция включенная чужая непомеченная?

Самое главное, языковая паника никуда не делась. И костыли позволяют только точечно убрать, точнее, только детектировать вызов паники.

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

234. "Релиз ядра Linux 5.16"  +/
Сообщение от Поджигатель Пятых Точек (?), 10-Янв-22, 23:30 
>> И домашним заданием: задать себе вопрос, как функция попадает в граф зависимостей?
> Потому что его дергает чужая/стандартная непомеченная функция?

В ваш код тайком кто-то дописывает функции? 😕
> В случае библиотеки/модуля
> ядра так вообще много точек входа - лес зависимостей. Весь лес
> пометить, а если функция включенная чужая непомеченная?

В ядре, внезапно, не применяют стандартную библиотеку, т.е. там по любому нужна будет своя реализация. Ее можно сделать однострочником с атрибутом compile_error("куда лезешь!")
macro_rules! compile_error {
        ($msg:expr $(,)?) => {{ /* compiler built-in */ }};
    }
И ничего не надо будет помечать.

А, так-то ядро, внезапно, тоже паникует:
https://en.wikipedia.org/wiki/Kernel_panic


> Самое главное, языковая паника никуда не делась. И костыли позволяют только точечно
> убрать, точнее, только детектировать вызов паники.

О да, "костыли" позволяют детектировать игнорирование обработки ошибок, UB и прочче - и это плохо! Лучше ведь годами тихо портить файлы!

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

248. "Релиз ядра Linux 5.16"  –2 +/
Сообщение от Аноним (68), 11-Янв-22, 09:16 
Меченный, я увижу от тебя непаникующей rust-программы?!

>> чужая непомеченная
> стандартную библиотеку

скакать умеешь.

> В ядре ... по любому нужна будет своя реализация.

Ага, чтобы rust гарантировал так нахваливаемую "безопасность" нужно основную часть ядро, лучше всё ядро переписать. Иначе "непомеченные" будут паниковать в неожиданных местах.

> UB и прочче - и это плохо!

Паника - это прекрасно!

> Лучше ведь годами тихо портить файлы!

Лучше годами лежать в панике.

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

256. "Релиз ядра Linux 5.16"  +1 +/
Сообщение от Поджигатель Пятых Точек (?), 11-Янв-22, 13:44 
>>> чужая непомеченная
>> стандартную библиотеку
> скакать умеешь.

Молодец, умеешь передергивать и фантазировать.

> Ага, чтобы rust гарантировал так нахваливаемую "безопасность" нужно основную часть ядро,
> лучше всё ядро переписать. Иначе "непомеченные" будут паниковать в неожиданных местах.

Да-да, сишный код ядра будет тайномагическим образом вызывать панику, которая суть черная магия!
Сразу видно 146% понимание обсуждаемого предмета (нет) ...

> Меченный, я увижу от тебя непаникующей rust-программы?!

Этот Бала^W Воен порвался, вносите следующего!

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

275. Скрыто модератором  –1 +/
Сообщение от Аноним. (?), 12-Янв-22, 09:36 
Ответить | Правка | К родителю #256 | Наверх | Cообщить модератору

164. "Релиз ядра Linux 5.16"  +/
Сообщение от n00by (ok), 10-Янв-22, 16:52 
Ну в принципе так на и Си пишется. См. freestanding implementation. fopen() и setlocale() в ядре вроде никто не вызывает.
Ответить | Правка | К родителю #150 | Наверх | Cообщить модератору

169. "Релиз ядра Linux 5.16"  –1 +/
Сообщение от Аноним (68), 10-Янв-22, 17:08 
> В-третьих, ядро линукс не на языке Си.
Ответить | Правка | Наверх | Cообщить модератору

175. "Релиз ядра Linux 5.16"  –1 +/
Сообщение от Аноним (134), 10-Янв-22, 17:20 
.model tiny
.code
org 0100h
mov ah,9
mov dx, offset msg
int 21h
ret
.db mdg "Hello, world!"

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

179. "Релиз ядра Linux 5.16"  +1 +/
Сообщение от Газпром (?), 10-Янв-22, 17:26 
>>> Раст имеет рантайм.
>> дамп-дисасм демки на расте без рантайма
> .model tiny
> .code
> org 0100h
> mov ah,9
> mov dx, offset msg
> int 21h
> ret
> .db mdg "Hello, world!"

"Столько бесплатного метана! Это просто праздник какой-то!"(с)


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

252. "Релиз ядра Linux 5.16"  +/
Сообщение от Ананимас008 (?), 11-Янв-22, 10:10 
AL кто будет чистить?
.Ком файлы еще суппортятся шиндой?
Ответить | Правка | К родителю #175 | Наверх | Cообщить модератору

290. "Релиз ядра Linux 5.16"  +/
Сообщение от Аноним (68), 13-Янв-22, 19:41 
> AL кто будет чистить?

Зачем? Нет бы докопаться к выводимой строке без '$' на конце. Если я правильно помню. И к опечаткам в имени msg|mdg

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

249. "Релиз ядра Linux 5.16"  +/
Сообщение от Аноним (68), 11-Янв-22, 09:31 
Когда усталость перерастет в панику, тогда включат
Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

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

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




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

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