https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122798
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Josef Melcr <[email protected]>: https://gcc.gnu.org/g:fe22bdabd4ca51c036e5e2ab89f56ffe32f4cac9 commit r16-5959-gfe22bdabd4ca51c036e5e2ab89f56ffe32f4cac9 Author: Josef Melcr <[email protected]> Date: Mon Dec 8 09:21:38 2025 +0100 ipa/122798: Adjust local and address_taken flags for callback clones. Hi, previously, clones of callback functions had their local flag set. Because callback edges are direct rather than indirect, GCC falsely assumes that their callsites are available and that it can change their ABI, leading to segfaults. This patch fixes that. Additionally, this patch fixes a check in redirect_callee for clearing the address_taken flag. PR ipa/122798 gcc/ChangeLog: * cgraph.cc (cgraph_edge::redirect_callee): Use iterate_referring instead of referred_to_p. * cgraphclones.cc (set_new_clone_decl_and_node_flags): Set local to true iff the node does not have its address taken. Signed-off-by: Josef Melcr <[email protected]>
