diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 35ea611..8bcdbc1 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -217,6 +217,26 @@ dns=default Adjust `-j4` based on your available RAM (roughly 2-3GB per job). With 24GB RAM, `-j6` to `-j8` is usually safe. +### LLVM/Clang GCC 15 ICE (Steam 32-bit) + +When building LLVM with `abi_x86_32` for Steam, GCC 15 may crash with an internal compiler error (ICE): + +``` +internal compiler error: Segmentation fault +``` + +This typically occurs in `AMDGPURewriteAGPRCopyMFMA.cpp` and is triggered by `-march=znver3` optimizations. + +**Fix:** Have LLVM compile itself with clang instead of GCC: + +```bash +# Add to /etc/portage/package.use/steam +llvm-core/llvm clang +llvm-core/clang clang +``` + +This is already included in the provided `package.use/steam` file. + ### Circular Dependency (freetype/harfbuzz) During initial install, use `-harfbuzz` flag temporarily: diff --git a/portage/package.use/steam b/portage/package.use/steam index 3bba9d2..dcad598 100644 --- a/portage/package.use/steam +++ b/portage/package.use/steam @@ -37,8 +37,9 @@ dev-util/spirv-tools abi_x86_32 dev-util/sysprof-capture abi_x86_32 gnome-base/librsvg abi_x86_32 gui-libs/libdecor abi_x86_32 -llvm-core/clang abi_x86_32 -llvm-core/llvm abi_x86_32 +# Use clang to build LLVM/clang - workaround for GCC 15 ICE on AMDGPURewriteAGPRCopyMFMA.cpp +llvm-core/clang abi_x86_32 clang +llvm-core/llvm abi_x86_32 clang media-gfx/graphite2 abi_x86_32 media-libs/alsa-lib abi_x86_32 media-libs/flac abi_x86_32