LINUX.ORG.RU

Процесс миграции на clang во FreeBSD переходит в завершающую стадию

 ,


1

5

В дереве HEAD FreeBSD размещен коммит, отключающий на архитектурах i386, amd64 и arm сборку gcc и libstdc++. Взамен используется clang и libc++. По всей видимости, версия 10.0 FreeBSD будет первой, в которой clang будет использоваться по умолчанию.

Исходя из сообщения, отключение сборки gcc обусловлено тем, что значительное количество портов системы теперь можно собрать с помощью clang.

GCC по-прежнему доступен для установки из портов, либо из исходных текстов системы. Включить его сборку возможно с помощью директив WITH_GCC и WITH_GNUCXX в src.conf.

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

★★★

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

Читать не умеем?

Цитату. Конкретную. Как же мне над тобой ржать, если я даже не знаю, какую фразу ты прочитать не осилил?

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

Читать не умеем?

Цитату. Конкретную. Как же мне над тобой ржать, если я даже не знаю, какую фразу ты прочитать не осилил?

Начни с заголовка. И дальше. помаленьку. по чут-чуть. Можно со словарем... :)

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

Начни с заголовка. И дальше. помаленьку. по чут-чуть. Можно со словарем... :)

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

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

Для разработчиков коммерческих продуктов. А то LGPL не позволяет статически компоновать стандартную библиотеку с проприетарным приложением. Как вы думаете, компилятор и стандартная библиотека с какой лицензией будут чаще получать коммиты от разработчиков?

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

Ты и заголовка не осилил?

Школоло такое школоло. Но как я мог забыть, дислексичное школоло ведь наверняка языками не владеет.

Перевожу для дебилов:

64-bit ARM (AArch64) Support Merged Into LLVM

Поддержка AArch64 включена в LLVM

GCC has had support for 64-bit ARM, a.k.a. AArch64, going back to last summer for using the open-source compiler with next-generation ARMv8 hardware.

В GCC поддержка 64-битных ARM, известных как AArch64, была еще с прошлого лета.

Being merged today is finally support for the LLVM compiler infrastructure with an experimental 64-bit ARM/AArch64 back-end target.

А сегодня и в LLVM наконец-то замерджили экспериментальный backend для AArch64.

Итак, какие буквы школоло не осилило понять?

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

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

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

уйди, не позорься

//другой анонимус

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

Ну это просто праздник какой-то! Безграмотная сопливая школота еще и упирается!

Покажи мне словарик. Хочется узнать где merged переводиться как включать. :)

Подчеркни ту грамматическую конструкцию, которую ты умудрился прочитать как «поддержка из gcc была merged с llvm». И, уверяю тебя, школолошечка, именно так в данном контексте слово merged и переводится, именно как «включили». То есть, была эта поддержка в частной ветке разработчиков, пилили ее, запилили, и теперь merged все разом в trunk.

И, кстати, хотел бы я поржать над твоими представлениями о том, как вообще можно backend из gcc пренести в llvm, учитывая их абсолютно несовместимые философии. Ты, школолошечка, tablegen вообще видел?

anonymous
()

//прошу прощения, что мой коммент непосредственно по новости, а не про личности на этом чудо сайте.

что-то не помогает WITH_GNUCXX

/usr/src/gnu/lib/libstdc++/../../../contrib/libstdc++/src/codecvt.cc:49:28: error: expected '{' or ',' fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. *** Error code 1

У кого сработало?

anonymous
()

s/завершающую/терминальную

...при всей симпатии к старой доброй FreeBSD...

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

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

Анонимус, ты слишком добр. Полная версия должна звучать так: «разве что только для тех, которые хотят взять чужой код, использовать его в своём закрытом поделии и этим закрытым поделием вытеснять с рынка открытый аналог». Потому, что даже лицензия GPL не требует выставлять исходники на всеобщее обозрение, если производный продукт используется где-то внутри замкнутой корпорации (хорошим примером была бы МСВС, если бы её поставщики вели себя чуть-чуть потоньше).

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

А религиозным фанатикам как раз важнее «всеобщее благо» и тому подобная чушь, на которую рациональным разработчикам наплевать.

«Вот за это русские нас и не любят» (c)

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

AArch64

В LLVM поддержка намного качественнее, чем в gcc.

портированная из gcc

Даже если забить на проблемы лицензионной совместимости, LLVM имеет совсем иную архитектуру и мыслит в скалярных инструкциях в промежуточном байт-коде. gcc же оперирует собственным внутренними представлениями. Подобное «портирование» кодогенератора связано с его полным и *очень* глубоким перепиливанием до абсолютной неузнаваемости. (Проще заново написать, чем портировать).

shahid ★★★★★
()

Зря затеяли эту затею, 3 языка 2 архитектуры и всё тут.

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

О том, что бывает, а что нет спросите у разработчиков FreeBSD, jQuery, LLVM, X.Org и многих других проектов под пермиссивными лицензиями.

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

вот-вот, на примере фри отлично видно, что шансов нет. сравните с линуксом.

anonymous
()

Все такие непродажные - я тащусь.

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

ох чую, если бы не эти религиозные фанатики, сидел бы ты сейчас с каким-нибудь IE6 и почитывал про 640кб, рациональный ты наш.

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

А религиозным фанатикам как раз важнее «всеобщее благо» и тому подобная чушь, на которую рациональным разработчикам наплевать.

Фраза содержит взаимоисключающие утверждения и поэтому не имеет смысла!

anonymous
()

Ребята, а TenDRA они успешно похоронили, я так понимаю?

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

Ты хоть код то gcc видел, дибилушка?

Ты это мне, хамло неграмотное? В gcc немало моего кода, я там с конца 90х. Теперь только над llvm работаю, поскольку надоел бардак.

anonymous
()

Молодцы, фришники! Не трындят на форумах, не ругают гцц, попивая пиво, а медленно, но верно допиливают перспективный софт. Вот уже clang может не просто «компильнуть хэлловорлд», а полноценно собрать (весьма немаленькую) операционную систему - это мощный результат, т.к. допиливать шланг будет гораздо проще, когда уже есть неслабый задел.
Фришники - молодцы!

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

А что с «перспективным» проектом «TenDRA», который они «перспективно» пилили?

anonymous
()

Какая категория юзеров предпочитает ставить FreeBSD на свой десктоп aka рабочую станцию? То есть, чтобы использовать ОС по прямому предназначению: как подложку для рабочего софта.

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

Это использование двух - повышает. Что я и говорил. А замена одного на другой - снижает.

Всё равно их два будет использоваться. Под sparc64 и powerpc64 gcc. Софт, который собирается из портов, кроссплатформенный и в линуксе тоже собирается gcc.

Использование разных компиляторов повышает качество кода. Вон, bash можно родным компилятором под Unixware собрать.

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

Но перевли умолчательную сборку - вот источник проблем в ближайшее время

Правильно. Поэтому и переведено в HEAD, а не в STABLE :) Сейчас помучаются, вылезут ещё проблемы. Я предполагаю, что пока транк 10-ки не стабилизируется, STABLE переводить не будут.

Lothlorien ★★★
() автор топика

Из википедии:

в проект вовлечены несколько крупнейших в разработке ПО корпораций, включая Google и Apple

Что-то говенцом потянуло...
Радует, что там BSD лицензия, хотя странно это видеть от разработ iПонт-а.

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

cups, если мне не изменяет память, был изначально НЕ apple, они просто купили его.
С тех пор апдейты стали выходить от apple

reprimand ★★★★★
()

хотя да, скомпилил helloworld через:
1) gcc 8.7kb
2) icc 9.3kb
3) clang 6.5kb

На хабре кстати есть статья о хламе внутри «пустой» программы, откомпилированной gcc.
Посмотрим потом как с перформансом у freebsd.

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

я в gcc с начала девяностых, нет там никакого бардака, чмо неграмотное

И кто это тут воняет? Нет бардака, говоришь, убожество грязное? А как минимум пять разных IR против двух в LLVM - это не бардак? Мегатонны boilerplate-кода в instruction selection для каждой платформы - это не бардак?

LLVM на гораздо более высоком уровне абстракции находится. Там, где в gcc убогий недоговнолисп, в LLVM полноценный, идеально подходящий под задачу DSL (Tablegen).

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

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

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

вся сложность в том что он просто большой.

Большой, но при этом совершенно не модульный. Это и называется «бардак». Попробуй, например, выдумать некую несуществующую инструкцию, и добавить её поддержку в кодогенератор x86_64 в gcc и в llvm. При равном уровне понимания кода и gcc и llvm, со вторым ты справишься в несколько раз быстрее.

Я уж молчу про такие мелочи, как добавление какой-либо специфичной оптимизации. С gcc это пляски с бубном на много часов, а с llvm - минутное дело, причем pass можно собрать как динамическую библиотеку и подключить в `opt -load`.

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

Ну вот разрастётся clang до размеров gcc вот и посмотрим, ну а то что на данный момент левому человеку проще и быстрее разобраться с clang чем с gcc тут не поспоришь за это . clang`у жирный плюс.

Тем не менее уже gcc перенесли на всё что только можно и не C,C++,Objective-C едиными он живёт.

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

Ну вот разрастётся clang до размеров gcc вот и посмотрим

Да сколько угодно. Он же модульный, в отличие от gcc, так что расти может до любых размеров. Мне вот, например, до лампочки вся его функциональность в lib/StaticAnalyzer - так я туда и не смотрю, и более того, даже не собираю. А оно как раз быстрее всего растет.

Тем не менее уже gcc перенесли на всё что только можно

Переносить LLVM на новые платформы намного легче. Так что со временем он gcc обгонит. Gcc старше. Естественно, скорее всего на никому не нужное говно мамонта его переносить не будут (VAX, Alpha, SPARC32 и тому подобное), а вот новые платформы и сейчас появляются одновременно и в gcc и в LLVM.

и не C,C++,Objective-C едиными он живёт.

Так и к LLVM тоже полно других фронтэндов, не только clang. Даже есть такая экзотика, как ghc и mono.

anonymous
()

FreeBSD можно пользоваться без PuTTY и Linuxulator?

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

Я и есть регулярный автор таковых, проходящий через дорогостоящую процедуру проверки в юридическом отделе (который значительную часть коммитов, кстати, тупо не пропускает).

У юридического отдела нет такой компетенции, не ври, максимум, что они могут сделать, отмазать тебя от преследований за сворованный плагин к программе!

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

Ты идиот? Кому еще, по твоему, проверять, не утекают ли патентованные идеи с публикуемым под открытой лицензией кодом?

anonymous
()

Хорошая новость!

А уже есть PoC дистрибутив linux, собранный через clang?

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

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

anonymous
()

Какой фееричный парад разнокалиберных арабов (ЕВПОЧЯ). :3

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