LINUX.ORG.RU
ФорумTalks

Линус обозвал GCC исключительным г-ном

 , ,


1

3

http://lkml.iu.edu/hypermail/linux/kernel/1407.3/00650.html

Ъ:

Ok, so I'm looking at the code generation and your compiler is pure and utter *shit*.

Adding Jakub to the cc, because gcc-4.9.0 seems to be terminally broken.

Lookie here, your compiler does some absolutely insane things with the spilling, including spilling a *constant*. For chrissake, that compiler shouldn't have been allowed to graduate from kindergarten. We're talking «sloth that was dropped on the head as a baby» level retardation levels here

Somebody needs to raise that as a gcc bug. Because it damn well is some seriously crazy shit.

Anyway, this is not a kernel bug. This is your compiler creating completely broken code. We may need to add a warning to make sure nobody compiles with gcc-4.9.0, and the Debian people should probably downgrate their shiny new compiler.

★★★★★

Последнее исправление: post-factum (всего исправлений: 1)

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

http://www.opennet.ru/opennews/art.shtml?num=40281
Упомянутый гнев отчасти справедлив, поскольку в ассемблерных листингах было обнаружено, что компилятор может изменять даже переменные, которые специальным ключевым словом явно обозначены как константы, что недопустимо.

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

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

разрабам бзди объяснять это не нужно, поэтому там всё очень круто и они давно сделали линукс

What?

quest ★★★★
()

Линус прав, но кто рискнёт перепилить всю основную ветку ведра под tcc+μClibc? Остальное - шило на мыло же.

border-radius
()

Помимо ядра баги всплыли и в Iceweasel 30, который тоже собрали с помощью gcc-4.9. Крашится на страницах с WebGL. Исправление сделали только в Iceweasel 31.

EXL ★★★★★
()
Ответ на: комментарий от cvs-255

эталонную реализацию не меняют -даже при наличии багов , их документируют и воркэраундят на новых проектах.

старое по мере возможностей правят.

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

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

cvs-255 ★★★★★
()
Ответ на: комментарий от tides

Вот заодно бы и tcc допилили, а то одну блоатварь на другую менять...

border-radius
()

хм...

не люблю компиляцию... люблю мучатся с ошибками в рантайме...

DemonZLa
()

Вообще-то он про конкретную версию это сказал, а не про GCC как таковой. Интересно, когда он Linux назовёт говнищем.

Quasar ★★★★★
()

Ну объективно он прав.

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

4.8.чтототам вроде юзал, АПВС?

Дык улучшают с каждым релизом же. И AFAIK уже на достаточно сравнимом уровне.

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

Я юзал, с пылу с жару из головы репозитория. ...

Мог бы проще написать: Я stevejobs и я буратина.

Или даже так: Я stevejobs. (остальное мы и так знаем)

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

А что при этом с быстродействием кода?

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

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

линукс на суперкомпьютерах имеет мало общего с линуксом на твоем десктопе.

Да ты чо. И чем, например виртуальная консоль, Python или компилятор с точки зрения ПОЛЬЗОВАТЕЛЯ отличается от моей десктопной машины например, здесь:

pinkbyte@lgentoo3 ~ $ lscpu
Architecture:          s390
CPU op-mode(s):        32-bit
Byte Order:            Big Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s) per book:    1
Book(s):               2
Vendor ID:             IBM/S390
BogoMIPS:              7396.00
Hypervisor:            z/VM 6.2.0
Hypervisor vendor:     IBM
Virtualization type:   full
Dispatching mode:      horizontal
Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от multihead

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

post-factum ★★★★★
() автор топика
Ответ на: комментарий от Pinkbyte

Мб ты сначала расскажешь что общего между, например, IBM Blue Gene и твоим списанным мейнфреймом на s390?

Но вообще я имел ввиду набор софта для кластеризации и прочих радостей.

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

списанным мейнфреймом на s390?

Ты это чувакам из Marist College скажи(они нам эти виртуалки предоставляют). Если тебе нужна виртуалка на s390x(64 бита же, ололо) - такая тоже есть у меня.

Так что давай не будем.

Но вообще я имел ввиду набор софта для кластеризации и прочих радостей.

Если ты не про кластера для виртуальных машин(KVM-то там нету, да и Linux в качестве гипервайзора заместо Z/VM там гонять - это моветон, только внутри) - то я пока не вижу проблемы в том, чтобы завести там какой-нибудь Heartbeet или Pacemaker. В код их обоих не смотрел, но я сомневаюсь что они настолько непортируемы...

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

А кроме gcc сабж всё равно ничем больше нормально не собирается. И если чё я в курсе b про icc и про clang llvm.

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

Ты нифига не понял. В случае с HPC этот самый linux выступает лишь как обвязка для доступа к железу, не более того. Я не удивлюсь, если софт, который там крутится, даже память сам менеджит и содержит в себе собственную реализацию многозадачности.

hateyoufeel ★★★★★
()

Что-то у Линуса с возрастом пригорает все сильнее и сильнее. Превращается в склочного старика.

buddhist ★★★★★
()
Ответ на: комментарий от post-factum

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

1. Торвальдс регулярно раз в пару лет обзывает gcc говном. Это нормально и порядке вещей. Отмечу что gcc это идёт только на пользу, больше внимания разрабов - лучше работа...

2. Да, паскаль более безопасный язык скомпиленный им код в принципе исключает существования целых классов стандартных уязвимостей с кода. Для новой ОС надо брать что-то типа второго оберона или компонентного паскаля.

Как учит Вирт - ядро ОС (среда исполнения), язык программирования и компилятор должны развиваться вместе.

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

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

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

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

esandmann
()

Так, а теперь объясните, что такое constant spilling

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

Ну, может он остепенится решил. Может подумал, что «оно точно работает» лучше чем «оно работает на тех двух тестах, что я подсунул».

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

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

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

может и решил, но ядро уже успели основательно засрать

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

росто торвальдс выбрал путь того, что бы работало, а не было красиво

я не пытался устраивать срач про линукс и бздю

Такое впечатление, что ты этим нехотя и занимаешься

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