169 похожих чатов

Кстати, планируется ли поддержка e2k в LLVM?

13 ответов

59 просмотров

в мейнлайне - навряд ли, а так - есть clang, D портируют

JeisonWi-Garrison Автор вопроса
Luke🎉
в мейнлайне - навряд ли, а так - есть clang, D пор...

LLVM так быстро движется, особенно если брать с учётом таких современных бэкендов как Rust или Zig. Трудно будет поддерживать их, если форк. Знаю по себе, так как есть опыт работы с LLVM плагинами - они API меняют чуть ли не каждый релиз.

LLVM-9 есть в ОС Эльбрус, я сейчас D портирую под него (компилятор LDC).

А можете рассказать в чём заключается портирование? Хотя бы в общих чертах

Ewa
чтобы компилятор собирал код под e2k

Это понятно Я про другое: вот компилятор D отдаёт llvm какой-то её ассемблер, а дальше она генерит машинный код. Насколько я понимаю, llvm уже умеет выдавать машинный код эльбруса. В чём же тогда затык с компиляцией d без патчей? И в чём заключается фикс тогда?

Мерль
Это понятно Я про другое: вот компилятор D отдаёт ...

Нет, там IR код компилируется модифицированным lcc

Мерль
Это понятно Я про другое: вот компилятор D отдаёт ...

какой-то её ассемблер - LLVM IR (расширение .ll или .bc) фикс заключается вот в чём: - самому D нужно было добавить поддержку e2k, т.к. вот этот LLVM IR он не совсем кроссплатформенный, а всё равно учитывает особенности архитектуры - заменить те комманды которые llvm на эльбрус не может перевести, к примеру он не знает fneg, инвертирование знака числа с плавающей запятой. - на эльбрусе llvm-9, а LDC собирается минимум с 10ой версией, лучше с 11ой, пришлось понижать версию. - написать druntime под архитектуру - написать биндинги к системным библиотекам, т.к. они хоть и похожи на линукс x86, но есть отличия

Ewa
какой-то её ассемблер - LLVM IR (расширение .ll ил...

а не хотите написать страничку altlinux.org/эльбрус/D — вот прям с этим текстом для начала? :) на вики даже регистрироваться необязательно (тогда src ip в публичном логе осядет), ну или маякните, чтоб быстро подтвердил

Михаил Шигорин
а не хотите написать страничку altlinux.org/эльбру...

Мы чуть позже сделаем отдельный сайт с нашей версией компилятора D + фреймворк для разработки кроссплатформенных приложений, там же будет и форум и чат для обсуждений языка D. И про все особенности портирования тоже там будем рассказывать. Но это будет попозже.

JeisonWi-Garrison Автор вопроса
Ewa
Мы чуть позже сделаем отдельный сайт с нашей верси...

Кстати, почему именно D для e2k? Не самый популярный выбор.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта