https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114419
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ams at gcc dot gnu.org, | |burnus at gcc dot gnu.org Summary|amdgcn offload compiler |[GCC < 14] amdgcn offload |fails to build with amdgcn |compiler fails to build |tools based on LLVM 18 |with amdgcn tools based on | |LLVM 18 --- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> --- This has been fixed in GCC 14 - and the documentation has been updated accordingly. See the AMD GCN entry in the GCC 14 and the link to the install document there: https://gcc.gnu.org/gcc-14/changes.html * * * I think there are two problems with LLVM 18 - both fixed with GCC 14/mainline. Namely: (A) Support for 'Fuji' devices was stopped, i.e. those use AMDHSA Code Object Version 3 → Solution: Configure with --with-arch=gfx900 --with-multilib-list=gfx900,gfx906,gfx908,gfx90a i.e. leave out 'fiji' and switch to gfx900 for the default Cf. r14-4734-g56ed1055b2f40ac162ae8d382280ac07a33f789f (B) The default version used if no version has been specified changed to Code Object 5 in LLVM's linker – but with '-g' also mkoffload produces an object file - but with version 4. => With debugging enabled, there will be an error with LLVM 18, solved by the commit: r14-8449-g4b5650acb3107239867830dc1214b31bdbe3cacd - namely: Since LLVM commit 082f87c9d418 (Pull Req. #79038; will become LLVM 18) "[AMDGPU] Change default AMDHSA Code Object version to 5" the default - when no --amdhsa-code-object-version= is used - was bumped.