URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 113384
[ Назад ]

Исходное сообщение
"Выпуск набора компиляторов GCC 7.3"

Отправлено opennews , 25-Янв-18 20:57 
Доступен (https://gcc.gnu.org/ml/gcc-announce/2018/msg00000.html) корректирующий релиз набора компиляторов GCC 7.3 (https://gcc.gnu.org/gcc-7/), в котором проведена работа по исправлению ошибок, регрессивных изменений и проблем с совместимостью. По сравнению с прошлым обновлением отмечено  99 исправлений (https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED...), в основном связанных с устранением регрессивных изменений. Отдельно выделяется добавление опций ("-mindirect-branch", "-mfunction-return",  "-mindirect-branch-register") для генерации последовательностей инструкций, исключающих вовлечение механизма спекулятивного выполнения для косвенных переходов. Сборка приложений с представленными опциями позволяет избежать проявления второго варианта уязвимости Spectre (CVE 2017-5715) на системах x86 и powerpc.

Напомним, что начиная с ветки GCC 5.x в проекте внедрена новая схема нумерации выпусков: версия x.0 используется в процессе разработки, корректирующие выпуски формируются с номерами x.2.0, x.3.0 и т.д. Новые возможности развиваются в экспериментальной ветке GCC 8.0, на базе которой будет сформирован следующий значительный релиз GCC 8.1.


URL: https://gcc.gnu.org/ml/gcc-announce/2018/msg00000.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=47963


Содержание

Сообщения в этом обсуждении
"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 25-Янв-18 20:57 
Друзя, а будет порт этих опий в старые компиляторы? Хочу CentOS 6.10, в которых весь юерспейс пересобран с этими опциями

"Выпуск набора компиляторов GCC 7.3"
Отправлено iZEN , 25-Янв-18 21:10 
А смысл? Вот GCC 8.0 для сборки и работы FreeBSD с ПО из портов - это гораздо круче, чем, допустим, шланг. Смысл - в объёме действительно полезного кода и скорости его работы. Незачем греть воздух и растрачивать процессорные гигагерцы.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Crazy Alex , 25-Янв-18 21:18 
Можно подумать, во FreeBSD есть вообще какой-то смысл

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 00:56 
конечно есть, хорошая алтернатива

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 01:13 
Даже биткоины нужнее, чем эта альтернатива.
DragonFlyBSD конечно еще можно вспомнить...

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 10:00 
Кстати, DragonFlyBSD более привлекательная альтернатива, чем FreeBSD.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 18:35 
Согласен, но не в коем случае не FreeBSD.
Все эти проекты разошлись в разные стороны NetBSD(оптимизации роутинга и еще там заточки сети), OpenBSD (секюрность/качество), FreeBSD (попса/производительность и число установок)... у каждого свои

"Выпуск набора компиляторов GCC 7.3"
Отправлено iZEN , 26-Янв-18 20:10 
> Кстати, DragonFlyBSD более привлекательная альтернатива, чем FreeBSD.

Для студентов - да. Для преподавателей - уже нет.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 03:51 
Некоторые компоненты из проекта OpenBSD действительно хороши и нужны.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Crazy Alex , 25-Янв-18 21:18 
Должен, по идее, как минимум - силами RedHat. RHEL6 в поддержке же ещё

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 17:33 
В 4.8 есть (RHEL 7, SLE 12), к 4.9 подходит.

Для остальных - обращайся в службу поддержки своего дистрибутива


"Выпуск набора компиляторов GCC 7.3"
Отправлено 0x0 , 27-Янв-18 23:34 
Точно трудно сказать: нужно следить за разработкой интересующих дистрибутивов. Например, на Федоре почти сразу портировали ещё в версию gcc-7.2.1, но в репозиторий пока ничего не попало (довольно критические наборы пакетов требуют более тщательной и длительной проверки :)

https://koji.fedoraproject.org/koji/buildinfo?buildID=1017749


"Выпуск набора компиляторов GCC 7.3"
Отправлено Дуплик , 25-Янв-18 22:13 
Когда GCC догонит CLang/LLVM по скорости?

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 25-Янв-18 22:45 
Уж точно не раньше, чем clang обгонит gcc.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Клыкастый , 26-Янв-18 10:21 
как троллит, как троллит... ты хоть пиши по скорости чего, пруфы там и все дела...

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 10:44 
Теперь всё понятно, чем ты Qt и приложения на Qt собираешь, что всё падает.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Андрей , 25-Янв-18 22:48 
> позволяет избежать проявления второго варианта уязвимости Spectre (CVE 2017-5715) на системах x86 и powerpc.

А так много пользователей powerpc? Для ARM было бы важнее. Хотя гугл забросил GCC, так что да, неважно. А как там с этим у clang?


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 09:04 
а кто из ARM в составе комитета по gcc? а от powerpc - представители IBM.
вот вам и ответ..

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 11:26 
Зато они готовы заплатить за устранение уязвимостей:
In 2003, BAE SYSTEMS Platform Solutions delivered the Vehicle-Management Computer for the F-35 fighter jet. This platform consists of dual PowerPCs made by Freescale in a triple redundant setup

"Выпуск набора компиляторов GCC 7.3"
Отправлено freehck , 26-Янв-18 12:06 
> Хотя гугл забросил GCC, так что да, неважно.

Так забросили, что патчи retpoline для противодействия Spectre сделали в том числе и для GCC.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Андрей , 26-Янв-18 16:04 
Значит, забросили gcc за одним исключением: Си всё ещё нужен им для сборки ядра.

"Выпуск набора компиляторов GCC 7.3"
Отправлено iZEN , 26-Янв-18 20:13 
Clang уже может генерировать код для powerpc?



"Выпуск набора компиляторов GCC 7.3"
Отправлено пох , 27-Янв-18 11:36 
> Clang уже может генерировать код для powerpc?

"уже" может. С версии 4 как минимум.
Но твоя bsd им не соберется. Патамушна ненужна.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 30-Янв-18 17:32 
> А так много пользователей powerpc? Для ARM было бы важнее.

PowerPC почти все с OoO, а большинство телефонных ARMов и проч - без OoO. Кортексы типа A53 проблеме не подвержены.

> Хотя гугл забросил GCC, так что да, неважно. А как там с этим у clang?

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


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 25-Янв-18 23:18 
а как там __builtin_load_no_speculate() ?

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 25-Янв-18 23:52 
GCC бинари и юзерспейс станет еще толще и прожорливее?

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 10:05 
Откуда следует? Если бы это было так, то Торвальдс выкатил бы свой палец разрабам GCC.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 28-Янв-18 12:10 
Ох уж эти молящиеся на палец Торвальдса.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Вареник , 29-Янв-18 07:39 
Культ личности. "Про Торвальдсе такого не было!"

"Выпуск набора компиляторов GCC 7.3"
Отправлено slump64 , 01-Фев-18 10:57 
Не выкатил бы.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 00:50 
Подскажите кто знает как лечить сегфолты firefox 52 на gcc7?

[Child 4597] ###!!! ABORT: Aborting on channel error

ipc/glue/MessageChannel.cpp, line 2152
ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 322


"Выпуск набора компиляторов GCC 7.3"
Отправлено qwfqwf , 26-Янв-18 02:43 
lor

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 13:05 
> Подскажите кто знает как лечить сегфолты firefox 52 на gcc7?

Для начала освоить gdb.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 13:11 
> Для начала освоить gdb.

Присоединяюсь. Пользоваться современным файрфоксом без отладчика стало совсем невозможно, к сожаленью :(


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 14:43 
Я пока не понял как его запустить с отладочными символами.
Когда беру релизную версию(mach package), то в финальном архиве отладочных символов не вижу(не видно название функций и названия файлов с номерами строк).
Когда запускаю из каталога сборки, то он не показывает полный backtrace(bt full) — только в месте сегфолта.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 20:55 
Для gdb нужен софт собраный в режиме Debug (не Release), без выполнения strip. Емнип опции -O123 конфликтуют и удаляют отладочную информацию.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 27-Янв-18 00:14 
> Емнип опции -O123 конфликтуют и удаляют отладочную информацию.

Нет.

1. Большинство (если не все) autotools проектов по умолчанию собираются с "-O2 -g".
2. Отладочную информацию вырезает -s. -O* её не подразумевают.
3. Кажется, я даже в мануалах (info gcc) gcc читал, что одновременное использование -O2 и -g не просто официально поддерживается, но и рекомендуется, поскольку это позволяет отлаживать баги, которые при -O0 могут не всплыть, но всплывут при релизной сборке с -O2.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 30-Янв-18 18:00 
Ты можешь собрать с -O2, но потом в ряде мест в дебагере получишь в принципе съедобный на вид дебаг, но вот "value optimized out" может очень сильно испортить настроение, если optimized out что-то сюжетно интересное. И чтобы этого не было таки придется согласиться на -O0, отключив оптимизации. Т.е. дебаг оптимизнутого билда прокатить может, но - фифти-фифти.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 13:09 
В /dev/shm должно быть примонтировано tmpfs размером хотя бы в четверть гигабайта.

У меня как-то было связано с этим, без этого бездумно выковырянный мозиллой из хрома (ipc/chromium/src/...) кусок приводил к похожим ошибкам. Лечится какой-то опцией в about:config, запрещающий инновационную многопроцессную модель (ДА, я говорю именно про 52 esr).

Но у меня ошибка была и при сборке пятым gcc, и шестым. Возможно, у вас другая проблема?


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 14:37 
> Лечится какой-то опцией в about:config, запрещающий инновационную многопроцессную модель (ДА, я говорю именно про 52 esr).

Это у меня как раз и выключено:)
/* Disable e10s */
user_pref("browser.tabs.remote.autostart", false);
user_pref("browser.tabs.remote.autostart.2", false);

На шестом как раз все хорошо. Проблемы проявляются на некоторых сайтах, если заходить на них с фаерфокса с gcc6 все ок, но если собрать gcc7. Я так подозреваю из-за отсутствия исключений в gcc7.
Вчера собрал clang'ом проблема ушла. Наверно временно буду пользоваться clang'ом для сборки.
Походу с переходом на многопроцесорную модель заложили много мин, которые походу фиксятся только в апстриме, а в 52 переносят по мере необходимости.
Вчера наткнулся на интересный комит https://hg.mozilla.org/mozilla-central/rev/d6e36e11cfa3
но в моем случае это не сильно поможет походу.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 27-Янв-18 00:18 
> user_pref("browser.tabs.remote.autostart", false);
> user_pref("browser.tabs.remote.autostart.2", false);

Точно, эти!

А на каких сайтах проблемы? В ближайшее время планирую пересобрать систему с gcc7, хотелось бы потом проверить, что вышло.

> из-за отсутствия исключений в gcc7

В каком смысле?


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 27-Янв-18 02:44 
> А на каких сайтах проблемы? В ближайшее время планирую пересобрать систему с gcc7, хотелось бы потом проверить, что вышло.

Тут сразу падает на чистом профиле.
https://www.ghacks.net/2017/11/13/customize-firefox-57-with-css/
https://www.engineersgarage.com/articles/humidity-sensor

Тут спустя некоторое время, спустя секунд 5.
http://www.our-firefox.ru/kak-v-mozilla-firefox/noscript-dly...


> В каком смысле?

Возможно чего напутал, но в лог сыпится много варнингов такого типа:

warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]

https://bugzilla.mozilla.org/show_bug.cgi?id=1383919
https://hg.mozilla.org/integration/autoland/rev/ae7e3082d862


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 24-Фев-18 16:07 
В общем выяснил я откуда ноги ростут.
Собрал с отладочными символами, отключил запуск адонов в отдельном процессе.
После этого увидел где падает.

Две ссылки упали в этом месте.

> Thread 6 "Socket Thread" received signal SIGPIPE, Broken pipe.

(gdb) bt full
#0  0x00007ffff7bc97ba in __libc_send (fd=131, buf=0x7fffa6eb8000, n=53, flags=0) at ../sysdeps/unix/sysv/linux/x86_64/send.c:26
        resultvar = 18446744073709551584
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
        sc_ret = <optimized out>
        buf = 0x7fffa6eb8000
        n = 53
        fd = 131
        flags = 0
#1  0x00007ffff7f8bb8d in pt_Send (fd=0x7fffa6e25d30, buf=0x7fffa6eb8000, amount=53, flags=0, timeout=4294967295) at <path>/firefox-52.6.0esr/nsprpub/pr/src/pthreads/ptio.c:1914
        fNeedContinue = 0
        bytes = -1
        syserrno = <optimized out>

Не знаю есть ли фикс в апстриме, но это уже хоть что-то:)
Дальше можно копать как лечить.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 27-Янв-18 02:54 
Еще тут падает, если открывать без блокировщиков и без приватного режима(в обычном).

http://www.hexcolortool.com/

Вообще, если активно гулять по интернету в поиске чего-либо, то обязательно где-нибудь может упасть. Сейчас сижу на firefox 52.6.0 собранный на gcc 7.2.1.


"Выпуск набора компиляторов GCC 7.3"
Отправлено RobotsCantPoop , 26-Янв-18 02:39 
Интересно, принцип Интелнобыля и Фукуспектра применим ко всяким там модным облачным дедупликациям?

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 06:05 
Не заметил когда шестой вышел, а они уже седьмой выпустили.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 08:15 
Уже можно хеллоуворлды для продакшена собирать :)

"Выпуск набора компиляторов GCC 7.3"
Отправлено Andrey Mitrofanov , 26-Янв-18 09:32 
> Не заметил когда шестой вышел, а они уже седьмой выпустили.

Не спать! https://gcc.gnu.org/develop.html#timeline


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 10:29 
А они собираются делать поддержку OpenAAC, OpenCL так, чтобы при вычислениях на видеокарточках напрямую использовался KMS/GEM без использования Mesa? Ну там, свою рантайм-либу или ещё как.

"Выпуск набора компиляторов GCC 7.3"
Отправлено фывфыв , 26-Янв-18 18:06 
А при чем здесь GCC?

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 27-Янв-18 16:22 
При том, что необходимый для этого нежирный, в отличие от всяких LLVMов, рантайм мог бы входить в состав GCC и разрабатываться этой же командой.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Чупачупс , 26-Янв-18 11:53 
А C# под Linux оно умеет из исходников собирать?

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 12:42 
>C# под Linux

Не нужно. Есть Java.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Анамоним , 26-Янв-18 14:27 
> C#
> Java

Шило на мыло.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 15:07 
Не совсем. Java кроссплвтформенная. P. S пожалуйста не надо про кроссплатформенность C#...

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 17:40 
Пожалуйста,(да, в этом месте должна быть запятая) не надо про кроссплатформенность Java.

"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 27-Янв-18 00:20 
> Не совсем Java кроссплвтформенная. P. S пожалуйста не надо про кроссплатформенность...

fxd


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 26-Янв-18 14:52 
>Не нужно. Есть Java.

Не нужно. Есть Python.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Andrey Mitrofanov , 26-Янв-18 14:58 
>>Не нужно. Есть Java.
> Не нужно. Есть Python.

Машины Тьюринга должно хватать всем.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Тьюринг , 27-Янв-18 05:13 
На релешках

"Выпуск набора компиляторов GCC 7.3"
Отправлено iZEN , 26-Янв-18 23:07 
> А C# под Linux оно умеет из исходников собирать?

Система поддержки выполнения кода на C#, mono-4.8.1.0, с помощью GCC 6.4.0, 7.3.0 и 8.0.1.s20180121 на FreeBSD почему-то не собирается, но собирается с помощью системного LLVM/Clang 5.0.1. Зато openjdk8-8.152.16 собирается последними версиями GCC, но не может собраться LLVM/Clang (у меня, по крайней мере). Вот такая она, альтернативная реальность.


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 27-Янв-18 00:22 
> openjdk8-8.152.16 собирается

А если не секрет, зачем собирать openjdk из исходников?

Оно при сборке требует блоб самого openjdk. Но после того, как я его скачал, я внезапно осознаю, что у меня УЖЕ есть openjdk, и не вижу смысла греть атмосферу :(


"Выпуск набора компиляторов GCC 7.3"
Отправлено dasrfatwet , 27-Янв-18 04:26 
Ему скучно по вечерам, нечем заняться вот он и страдает всякой ерундой.

"Выпуск набора компиляторов GCC 7.3"
Отправлено iZEN , 27-Янв-18 13:25 
>> openjdk8-8.152.16 собирается
> А если не секрет, зачем собирать openjdk из исходников?

Чтобы убедиться, что установленное ПО именно то, что собрано из исходников. И что какой-то дядя под видом блоба не подсунул тебе лажу, сказав, что она точно из вон тех исходников, что у тебя уже есть.

> Оно при сборке требует блоб самого openjdk.

Ага - предыдущей версии. Это называется bootstrap. После сборки он не нужен, его можно спокойно удалить, а для пересборки будет использоваться рабочий jdk.

> Но после того, как я его скачал, я внезапно осознаю, что у меня УЖЕ есть openjdk, и не вижу смысла греть атмосферу :(

Не разобрались, а претензии какие-то предъявляете.



"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 27-Янв-18 21:19 
> что какой-то дядя под видом блоба не подсунул тебе лажу

Постойте-постойте. Если дядя подсунул лажу грамотно, то эта лажа будет добавлять себя (лажу) и в генерируемый код. И всё равно мы остаёмся с "неправильной" сборкой. Как вы проверяете, что сгенерированный байткод соответствует исходнику?


"Выпуск набора компиляторов GCC 7.3"
Отправлено iZEN , 27-Янв-18 21:35 
>> что какой-то дядя под видом блоба не подсунул тебе лажу
> Постойте-постойте. Если дядя подсунул лажу грамотно, то эта лажа будет добавлять себя
> (лажу) и в генерируемый код. И всё равно мы остаёмся с
> "неправильной" сборкой.
> Как вы проверяете, что сгенерированный байткод соответствует исходнику?

Хороший вопрос. Использую несколько различных JDK, скачанных из разных источников и разными способами. Проверяю CRC.



"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 27-Янв-18 21:50 
> Использую несколько различных JDK

Серьёзно? Ну тогда снимаю шляпу, без шуток. Думал, вы очередной "я скачал openjdk чтобы собрать openjdk, и теперь у меня openjdk, собранный мной, точно из оригинальных исходников".

Не сочтите за троллинг, но можно список JDK? Знаю, что есть Оракловая, OpenJDK и какая-то от IBM. Есть ещё какие-то достаточно современные и юзабельные?


"Выпуск набора компиляторов GCC 7.3"
Отправлено iZEN , 28-Янв-18 13:39 
> Не сочтите за троллинг, но можно список JDK? Знаю, что есть Оракловая,
> OpenJDK и какая-то от IBM. Есть ещё какие-то достаточно современные и
> юзабельные?

Сертифицированные на совместимость с Java SE SDK:
- Oracle JDK
- Oracle JRockit
- IBM J9
- Excelsior JET
- Azul
- SAP.



"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 28-Янв-18 21:19 
> Сертифицированные на совместимость с Java SE SDK:
> - Oracle JDK
> - Oracle JRockit
> - IBM J9
> - Excelsior JET
> - Azul
> - SAP.

Спасибо!


"Выпуск набора компиляторов GCC 7.3"
Отправлено Аноним , 03-Фев-18 23:21 
Excelsior Jet - самый быстрая из них. Это единственная JVM под ПК, которая использует Ahead-of-Time компиляцию

"Выпуск набора компиляторов GCC 7.3"
Отправлено Hellraiser , 27-Янв-18 11:56 
> Сборка приложений с представленными опциями позволяет избежать проявления второго варианта уязвимости Spectre

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


"Выпуск набора компиляторов GCC 7.3"
Отправлено kk , 29-Янв-18 13:29 
тогда он еще в 94 году разложился с ошибкой FDIV, тогда в компиляторах тоже чтото костылили по этому поводу