aboutsummaryrefslogtreecommitdiff
path: root/libgcc/libgcc2.h
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2024-01-16 10:21:14 +0000
committerIain Sandoe <iain@sandoe.co.uk>2024-01-28 10:59:34 +0000
commit837827f8f2542c36ba5944b4da0a76ea6a64b08b (patch)
treeac406b504717cf847f7f5543febf30eac96bd885 /libgcc/libgcc2.h
parent557bea3d2e13bd8a4a19f494df748f7a384dc649 (diff)
downloadgcc-837827f8f2542c36ba5944b4da0a76ea6a64b08b.zip
gcc-837827f8f2542c36ba5944b4da0a76ea6a64b08b.tar.gz
gcc-837827f8f2542c36ba5944b4da0a76ea6a64b08b.tar.bz2
Fix __builtin_nested_func_ptr_{created,deleted} symbol versions [PR113402]
The symbols for the functions supporting heap-based trampolines were exported at an incorrect symbol version, the following patch fixes that. As requested in the PR, this also renames __builtin_nested_func_ptr* to __gcc_nested_func_ptr*. In carrying our the rename, we move the builtins to use DEF_EXT_LIB_BUILTIN. PR libgcc/113402 gcc/ChangeLog: * builtins.cc (expand_builtin): Handle BUILT_IN_GCC_NESTED_PTR_CREATED and BUILT_IN_GCC_NESTED_PTR_DELETED. * builtins.def (BUILT_IN_GCC_NESTED_PTR_CREATED, BUILT_IN_GCC_NESTED_PTR_DELETED): Make these builtins LIB-EXT and rename the library fallbacks to __gcc_nested_func_ptr_created and __gcc_nested_func_ptr_deleted. * doc/invoke.texi: Rename these to __gcc_nested_func_ptr_created and __gcc_nested_func_ptr_deleted. * tree-nested.cc (finalize_nesting_tree_1): Use builtin_explicit for BUILT_IN_GCC_NESTED_PTR_CREATED and BUILT_IN_GCC_NESTED_PTR_DELETED. * tree.cc (build_common_builtin_nodes): Build the BUILT_IN_GCC_NESTED_PTR_CREATED and BUILT_IN_GCC_NESTED_PTR_DELETED local builtins only for non-explicit. libgcc/ChangeLog: * config/aarch64/heap-trampoline.c: Rename __builtin_nested_func_ptr_created to __gcc_nested_func_ptr_created and __builtin_nested_func_ptr_deleted to __gcc_nested_func_ptr_deleted. * config/i386/heap-trampoline.c: Likewise. * libgcc2.h: Likewise. * libgcc-std.ver.in (GCC_7.0.0): Likewise and then move __gcc_nested_func_ptr_created and __gcc_nested_func_ptr_deleted from this symbol version to ... (GCC_14.0.0): ... this one. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> Co-authored-by: Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'libgcc/libgcc2.h')
-rw-r--r--libgcc/libgcc2.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/libgcc/libgcc2.h b/libgcc/libgcc2.h
index 5050456..0b67fab 100644
--- a/libgcc/libgcc2.h
+++ b/libgcc/libgcc2.h
@@ -29,8 +29,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#pragma GCC visibility push(default)
#endif
-extern void __builtin_nested_func_ptr_created (void *, void *, void **);
-extern void __builtin_nested_func_ptr_deleted (void);
+extern void __gcc_nested_func_ptr_created (void *, void *, void **);
+extern void __gcc_nested_func_ptr_deleted (void);
extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t);
extern void __clear_cache (void *, void *);