https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119737
--- Comment #4 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- Andrew P., thanks for your analysis -- that indeed looks like a plausible explanation. (In reply to myself from comment #0) > I've not yet looked into creating a non-offloading, GCN target test case. No need to create one; the problem is already visible for (only) one test case for GCN target testing: FAIL: g++.dg/init/call1.C -std=gnu++17 (internal compiler error: Aborted signal terminated program as) FAIL: g++.dg/init/call1.C -std=gnu++17 (test for excess errors) UNRESOLVED: g++.dg/init/call1.C -std=gnu++17 compilation failed to produce executable UNSUPPORTED: g++.dg/init/call1.C -std=gnu++98: exception handling not supported FAIL: g++.dg/init/call1.C -std=gnu++26 (internal compiler error: Aborted signal terminated program as) FAIL: g++.dg/init/call1.C -std=gnu++26 (test for excess errors) UNRESOLVED: g++.dg/init/call1.C -std=gnu++26 compilation failed to produce executable ..., which likewise FAILs due to 'LLVM ERROR: Size expression must be absolute.', where we've got: [...] .text .align 256 .type main,@function main: [...] s_endpgm .L15: s_getpc_b64 s[12:13] s_add_u32 s12, s12, abort@rel32@lo+4 s_addc_u32 s13, s13, abort@rel32@hi+4 s_swappc_b64 s[18:19], s[12:13] .LFE17: .section .fake_gcc_except_table [...] .section .text.startup .size main, .-main [...] So, here it's '.text' vs. '.text.startup'.