diff options
| author | Josef Melcr <josef.melcr@suse.com> | 2025-12-08 09:21:38 +0100 |
|---|---|---|
| committer | Josef Melcr <josef.melcr@suse.com> | 2025-12-08 10:40:15 +0100 |
| commit | fe22bdabd4ca51c036e5e2ab89f56ffe32f4cac9 (patch) | |
| tree | ad0e8ffbfc53c73e85918400ce51492ebb3d79fb /libjava/classpath/java | |
| parent | c7136f5b378e2684cf291b21e9a512c4c30ba9ef (diff) | |
| download | gcc-fe22bdabd4ca51c036e5e2ab89f56ffe32f4cac9.zip gcc-fe22bdabd4ca51c036e5e2ab89f56ffe32f4cac9.tar.gz gcc-fe22bdabd4ca51c036e5e2ab89f56ffe32f4cac9.tar.bz2 | |
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 <josef.melcr@suse.com>
Diffstat (limited to 'libjava/classpath/java')
0 files changed, 0 insertions, 0 deletions
