LINUX.ORG.RU
решено ФорумAdmin

Gentoo, GCC-15.1.1_p20250503, -fipa-pta

 , ,


0

2

Начиная с версии GCC-15.1.1_p20250503 в Дженте поламали сборку некоторых пакетов, в частности пока имеем gcc и shaderc, с -fipa-pta.

JFYI.

Перемещено hobbit из general



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

Во FreeBSD KDE собирается по большей части с помощью штатного (из базовой системы, а не из пакетов/портов) llvm. Впрочем, как и всё, что может быть им собрано.

В Gentoo я когда-то собирал ядро с помощью llvm, когда эта возможность была экспериментальной.

Только не надо писать про Openmandriv’у.

Ещё бы знать что это. (=

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

Ты в Линуксах собери.

Не для того я с линуксов сваливал. Кстати, с любимой генточки свалил. И генточка не виновата (хотя Gentoo/kFreeBSD могли бы и оживить) что мне пришлось её покинуть.

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

У меня так (gentooLTO):

> cat /etc/portage/package.cflags/ipa-pta.conf 
# BEGIN: -fipa-pta workarounds
www-client/firefox *FLAGS-="${IPAPTA}" #ICE on -fipa-pta
www-client/torbrowser *FLAGS-="${IPAPTA}" #ICE on -fipa-pta
=sys-apps/gawk-4.1.4 *FLAGS-="${IPAPTA}" # during IPA pass: pta lto1: internal compiler error: Segmentation fault
dev-qt/qtwebkit *FLAGS-="${IPAPTA}"
dev-lang/R *FLAGS-="${IPAPTA}" # during IPA pass: pta lto1: internal compiler error: Segmentation fault
sys-devel/gcc *FLAGS-="${IPAPTA}"
dev-lang/duktape *FLAGS-="${IPAPTA}" # fixes polkit from musl overlay not starting
dev-lang/gnat-gpl *FLAGS-="${IPAPTA}"
dev-lang/php *FLAGS-="${IPAPTA}" # Segfaults when compiled with -fipa-pta
dev-lisp/sbcl *FLAGS-="${IPAPTA}" #ICE on -fipa-pta
x11-wm/bspwm *FLAGS-="${IPAPTA}" # needed for version 0.9.7 on 17.0 profile running the testing branch everywhere with GCC 8.3.0
media-libs/libwebp *FLAGS-="${IPAPTA}" # no compilation issues, but -fipa-pta causes webp images to be displayed incorrectly
dev-qt/qtgui *FLAGS-="${IPAPTA}" # Same problem as above
dev-db/mongodb *FLAGS-="${IPAPTA}" # ICE with -fipa-pta
dev-lang/ocaml *FLAGS-="${IPAPTA}" # ICE during IPA pass: pta in lto1: Segmentation fault
app-emulation/libvirt *FLAGS-="${IPAPTA}" # Segmentation fault when starting libvirtd
dev-python/libvirt-python *FLAGS-="${IPAPTA}" # Test failure
dev-db/postgresql *FLAGS-="${IPAPTA}" # Test failure
dev-libs/protobuf *FLAGS-="${IPAPTA}" # Test failure
media-video/ffmpeg *FLAGS-="${IPAPTA}" # Test failure
sys-devel/clang *FLAGS-="${IPAPTA}" # Test failure
net-p2p/monero *FLAGS-="${IPAPTA}" # ICE with -fipa-pta
mail-client/thunderbird *FLAGS-="${IPAPTA}" # ICE with GCC 10.2.0 (seen with thunderbird 68.12.0)
>=dev-lang/spidermonkey-78.3.1 *FLAGS-="${IPAPTA}" # Segfault during build with GCC 10.2.0
>=media-libs/mesa-21.1.0 *FLAGS-="${IPAPTA}" # Segfault with vulkan
x11-base/xwayland *FLAGS-="${IPAPTA}" # SIGABRT when querying for GLX information
>=dev-vcs/git-2.32.0 *FLAGS-="${IPAPTA}" # Segfault in git fetch with GCC < 11.3.0
# END: -fipa-pta workarounds
eternal_sorrow ★★★★★
()
Ответ на: комментарий от annulen
[13/29] /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DENABLE_HLSL -I/tmp/portage/media-libs/shaderc-2025.2/work/shaderc-2025.2/libshaderc_util/include  -march=native -mtune=native -O3 -pipe -falign-functions=32 -fipa-pta -fomit-frame-pointer -fsched-pressure -ftree-vectorize -fno-asynchronous-unwind-tables -fno-plt -fno-semantic-interposition -fno-stack-protector -g0 -s -w -fdevirtualize-speculatively -fdevirtualize-at-ltrans -fgraphite-identity -floop-nest-optimize -floop-parallelize-all -fuse-ld=mold -fuse-linker-plugin -fno-fat-lto-objects -flto=25 -flto-compression-level=19 -ffat-lto-objects -Wimplicit-fallthrough -Wextra-semi -Wall -fvisibility=hidden -fPIC -MD -MT libshaderc_util/CMakeFiles/shaderc_util.dir/src/version_profile.cc.o -MF libshaderc_util/CMakeFiles/shaderc_util.dir/src/version_profile.cc.o.d -o libshaderc_util/CMakeFiles/shaderc_util.dir/src/version_profile.cc.o -c /tmp/portage/media-libs/shaderc-2025.2/work/shaderc-2025.2/libshaderc_util/src/version_profile.cc
FAILED: libshaderc_util/CMakeFiles/shaderc_util.dir/src/version_profile.cc.o 
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DENABLE_HLSL -I/tmp/portage/media-libs/shaderc-2025.2/work/shaderc-2025.2/libshaderc_util/include  -march=native -mtune=native -O3 -pipe -falign-functions=32 -fipa-pta -fomit-frame-pointer -fsched-pressure -ftree-vectorize -fno-asynchronous-unwind-tables -fno-plt -fno-semantic-interposition -fno-stack-protector -g0 -s -w -fdevirtualize-speculatively -fdevirtualize-at-ltrans -fgraphite-identity -floop-nest-optimize -floop-parallelize-all -fuse-ld=mold -fuse-linker-plugin -fno-fat-lto-objects -flto=25 -flto-compression-level=19 -ffat-lto-objects -Wimplicit-fallthrough -Wextra-semi -Wall -fvisibility=hidden -fPIC -MD -MT libshaderc_util/CMakeFiles/shaderc_util.dir/src/version_profile.cc.o -MF libshaderc_util/CMakeFiles/shaderc_util.dir/src/version_profile.cc.o.d -o libshaderc_util/CMakeFiles/shaderc_util.dir/src/version_profile.cc.o -c /tmp/portage/media-libs/shaderc-2025.2/work/shaderc-2025.2/libshaderc_util/src/version_profile.cc
during IPA pass: pta
/tmp/portage/media-libs/shaderc-2025.2/work/shaderc-2025.2/libshaderc_util/src/version_profile.cc:59:1: internal compiler error: Segmentation fault
   59 | }  // namespace shaderc_util
      | ^
0x55c521b77dad diagnostic_context::diagnostic_impl(rich_location*, diagnostic_metadata const*, diagnostic_option_id, char const*, __va_list_tag (*) [1], diagnostic_t)
        ???:0
0x55c521b41fa0 internal_error(char const*, ...)
        ???:0
0x55c52257897b execute_ipa_pass_list(opt_pass*)
        ???:0
0x55c522577f12 symbol_table::compile()
        ???:0
0x55c52258b05e symbol_table::finalize_compilation_unit()
        ???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://bugs.gentoo.org/> for instructions.
Ololo_Trololo
() автор топика
Ответ на: комментарий от Merionet

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

> cat /etc/portage/package.cflags/local.conf 
>=sys-libs/efivar-38 *FLAGS-="-flto"*
dev-util/spirv-tools *FLAGS-="-flto"*
eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ответ на: комментарий от mord0d

Что люди только не делают, лишь бы не использовать нормальный LLVM… (%

а ну ка покажите мне как вы llvm/clang glibc собираете.

Qui-Gon ★★★★★
()
Последнее исправление: Qui-Gon (всего исправлений: 1)

-fipa-pta

Съедает очень много памяти (и времени) на больших файлах (единицах трансляции), где много функций. Если ещё unified/jumbo build включить, то стабильно падает при сборке таких пакетов.

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

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

mittorn ★★★★★
()
Ответ на: комментарий от Qui-Gon

Что люди только не делают, лишь бы не использовать нормальный LLVM… (%

а ну ка покажите мне как вы llvm/clang glibc собираете.

Какой в этом смысл под FreeBSD? У нас своя libc, нам гнутого не нужно. (%

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

ну какой смысл в системе у которой нет wifi и bluetooth тоже вопрос интересный. Ну только не рассказывайте херню что древний стандарт со скоростью телефонного модема это тоже Wifi.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Ololo_Trololo

Я ловил на своём коде проблемы. Так же ловил проблемы на коде самого компилятора в свяке с pgo+lto при попытке собрать компилятор с этим флагом

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

На самом деле не все так просто - все сильно зависит от пакета. GCC сейчас очень активно ломает совместимость и многие пакеты свежим gcc отказываются собираться. Ну понятно что базовый набор собирается а всякая экзотика часто требует себе либо патчи под свежий gcc либо расчехлять gcc старый. Впрочем с llvm та же история - скажем intel graphics compiler до сих пор требует llvm 15 - и это не проблема генты а проблема самого интела.

Qui-Gon ★★★★★
()
Ответ на: комментарий от mord0d

ну если вас устраивает тот вайфай который есть на фре - до можно считать это домыслами.

К этому можно еще добавить отсутствие поддержки практически всего современного ноутбучного железа.

И добавить отсутствие поддержки кучи софта.

То есть по большому счету если возникнет желание выкинуть GNU из линукса то можно собрать его скажем с musl - по функциональности получится примерно чуть получше чем *BSD.

Как-то так. Как бы грустно это не было но BSD окончательно выбыло из высшей лиги - последняя надежда это объявленный проект по портированию свежих драйверов но где-то тут пробегало что он обернулся просто рисованием красивых презенташек и попилом спонсорских грантов. Если так - то BSD окончательно закрепляется в статусе академического проекта не сильно выходящего за рамки лабораторий беркли и клуба любителей некро-железок музейной давности. Хотя конечно обидно.

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

ну если вас устраивает тот вайфай который есть на фре - до можно считать это домыслами.

Конкретики, я так понимаю, не будет? Тогда расцениваю это как пук в лужу.

И добавить отсутствие поддержки кучи софта.

Опять домыслы. Под FreeBSD работает решительно всё, что работает в Linux, за исключением привязанного к ядру (cgroups2, например) или к systemd (который в свою очередь привязан к cgroups2). Или что-то проприетарное, что не собирают под FreeBSD.

если возникнет желание выкинуть GNU из линукса

Само ядро прогнило. За пруфами — у меня в профиле есть несколько ссылок (внутренних, так что Ъ не пострадают).

mord0d ★★★★★
()