Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: smeeld  
Дата: 27.07.14 08:17
Оценка: -1 :)))
Тут
Re: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: Abyx Россия  
Дата: 27.07.14 11:07
Оценка:
Здравствуйте, smeeld, Вы писали:

S>Тут


ну причитания Линуса про плохой гцц мы конечно прочитали, а где исходный код-то?
In Zen We Trust
Re[2]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: smeeld  
Дата: 27.07.14 11:13
Оценка:
Здравствуйте, Abyx, Вы писали:


A>ну причитания Линуса про плохой гцц мы конечно прочитали, а где исходный код-то?


Исходный код причитаний Линуса? Не нашёл таковых.
Re[2]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: ononim  
Дата: 27.07.14 12:54
Оценка: 3 (1)
S>>Тут
A>ну причитания Линуса про плохой гцц мы конечно прочитали, а где исходный код-то?
Ну там вобщемто все описано. Новый gcc игнорирует no-red-zone опцию. red-zone — это когда компилятор использует небольшой (128 байт) кусочек стека без перестройки вершины стека. Для ядра операционки это неюзабельно, потому что в любой момент времени выполнение кода может прерваться обработчиком прерывания, которое будет использовать текущий стек совершенно не имея понятия не является ли текущее значение rsp границей стека или же там в red zone перед ним данные важные лежат. И ничего с этим поделать нельзя, кроме как отучить компилятор от такого при помощи no-red-zone. А новый gcc ложит на эту опцию болт, вот Линус и негодуэ.
Как много веселых ребят, и все делают велосипед...
Re[3]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: Abyx Россия  
Дата: 27.07.14 16:21
Оценка: :)
Здравствуйте, ononim, Вы писали:

S>>>Тут

A>>ну причитания Линуса про плохой гцц мы конечно прочитали, а где исходный код-то?
O>Ну там вобщемто все описано. Новый gcc игнорирует no-red-zone опцию. red-zone — это когда компилятор использует небольшой (128 байт) кусочек стека без перестройки вершины стека. Для ядра операционки это неюзабельно, потому что в любой момент времени выполнение кода может прерваться обработчиком прерывания, которое будет использовать текущий стек совершенно не имея понятия не является ли текущее значение rsp границей стека или же там в red zone перед ним данные важные лежат. И ничего с этим поделать нельзя, кроме как отучить компилятор от такого при помощи no-red-zone. А новый gcc ложит на эту опцию болт, вот Линус и негодуэ.

если у него в коде UB, компилятор может генерить что хочет.
вобщем-то мы такие истории уже проходили.
я к гцц конечно отношусь плохо, но я догадываюсь что у гцц есть тесты, где тестируется в т.ч. и все флаги компилятора. по этому фраза "компилятор игнорирует флаг" — несколько странна. если бы у них были провалившие тесты, они не зарелизили бы гцц. 4.9.0
хотя недавно вышел 4.9.1, возможно стоит посмотреть его примечания к релизу
In Zen We Trust
Re[4]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: ononim  
Дата: 27.07.14 16:42
Оценка:
S>>>>Тут
A>>>ну причитания Линуса про плохой гцц мы конечно прочитали, а где исходный код-то?
O>>Ну там вобщемто все описано. Новый gcc игнорирует no-red-zone опцию. red-zone — это когда компилятор использует небольшой (128 байт) кусочек стека без перестройки вершины стека. Для ядра операционки это неюзабельно, потому что в любой момент времени выполнение кода может прерваться обработчиком прерывания, которое будет использовать текущий стек совершенно не имея понятия не является ли текущее значение rsp границей стека или же там в red zone перед ним данные важные лежат. И ничего с этим поделать нельзя, кроме как отучить компилятор от такого при помощи no-red-zone. А новый gcc ложит на эту опцию болт, вот Линус и негодуэ.
A>если у него в коде UB, компилятор может генерить что хочет.
КМК ядерный код невозможно писать строго совместимым со стандартом С. Разве что если переписать MM, шедулер и работу с прерываниями на асме, дублируя этот асм на всех архитектурах...

A>вобщем-то мы такие истории уже проходили.

A>я к гцц конечно отношусь плохо, но я догадываюсь что у гцц есть тесты, где тестируется в т.ч. и все флаги компилятора. по этому фраза "компилятор игнорирует флаг" — несколько странна. если бы у них были провалившие тесты, они не зарелизили бы гцц. 4.9.0
A>хотя недавно вышел 4.9.1, возможно стоит посмотреть его примечания к релизу
На сайте gcc.gnu.org какой то обман творится. Там действительно есть 4.9.1, но его Changes указывают на https://gcc.gnu.org/gcc-4.9/changes.html, то есть у 4.9 и 4.9.1 одинаковые changes. Муть какаято.
Как много веселых ребят, и все делают велосипед...
Re[5]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: ononim  
Дата: 27.07.14 22:14
Оценка:
Вот что нашлось: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904
Забавная цитата оттуда

The bad compiler versions are 4.5.0 (when debug_insn came in) to 4.8.3 and 4.9.0 and 4.9.1

просто какой то рыжий съел крокодила и баг наконец то вылез на белый свет..
Как много веселых ребят, и все делают велосипед...
Re: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: jazzer Россия Skype: enerjazzer
Дата: 28.07.14 02:09
Оценка: +2
Здравствуйте, smeeld, Вы писали:

S>Тут


О боже! Баг нашли! Как же жить-то теперь?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: uncommon Ниоткуда  
Дата: 28.07.14 06:23
Оценка:
Здравствуйте, smeeld, Вы писали:

S>Тут


Вот если бы я мог на работе материться как Линус!
Re[5]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: oziro Нигерия  
Дата: 01.08.14 07:01
Оценка:
O>На сайте gcc.gnu.org какой то обман творится. Там действительно есть 4.9.1, но его Changes указывают на https://gcc.gnu.org/gcc-4.9/changes.html, то есть у 4.9 и 4.9.1 одинаковые changes. Муть какаято.

Там не обман, там через *опу. 4.9.1
(сравни: 4.8.3)
Re[2]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: jazzer Россия Skype: enerjazzer
Дата: 01.08.14 09:49
Оценка:
Здравствуйте, uncommon, Вы писали:

U>Вот если бы я мог на работе материться как Линус!


не надо увеличивать количество хамства во Вселенной. Линус — известное хамло.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: smeeld  
Дата: 01.08.14 09:55
Оценка:
Здравствуйте, jazzer, Вы писали:


J> Линус — известное хамло.


Тео в этом плане круче.
Re[5]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: jazzer Россия Skype: enerjazzer
Дата: 01.08.14 10:44
Оценка:
Здравствуйте, ononim, Вы писали:

A>>хотя недавно вышел 4.9.1, возможно стоит посмотреть его примечания к релизу

O>На сайте gcc.gnu.org какой то обман творится. Там действительно есть 4.9.1, но его Changes указывают на https://gcc.gnu.org/gcc-4.9/changes.html, то есть у 4.9 и 4.9.1 одинаковые changes. Муть какаято.

Не одинаковые, а одна страница на весь 4.9 со всеми патчами. Просто поищи на ней 4.9.1 или просто прокрути вниз.
С другими версиями то же самое у них.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[4]: Кто там за новейшие версии компиляторов, а страрьё презирает 2
От: jazzer Россия Skype: enerjazzer
Дата: 01.08.14 10:46
Оценка:
Здравствуйте, smeeld, Вы писали:

J>> Линус — известное хамло.

S>Тео в этом плане круче.
Ага. И Ульрих тож ничего.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.