-
- Downloads
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>
Showing
- gcc/builtins.cc 4 additions, 0 deletionsgcc/builtins.cc
- gcc/builtins.def 2 additions, 2 deletionsgcc/builtins.def
- gcc/doc/invoke.texi 2 additions, 2 deletionsgcc/doc/invoke.texi
- gcc/tree-nested.cc 2 additions, 2 deletionsgcc/tree-nested.cc
- gcc/tree.cc 18 additions, 13 deletionsgcc/tree.cc
- libgcc/config/aarch64/heap-trampoline.c 4 additions, 4 deletionslibgcc/config/aarch64/heap-trampoline.c
- libgcc/config/i386/heap-trampoline.c 4 additions, 4 deletionslibgcc/config/i386/heap-trampoline.c
- libgcc/libgcc-std.ver.in 2 additions, 3 deletionslibgcc/libgcc-std.ver.in
- libgcc/libgcc2.h 2 additions, 2 deletionslibgcc/libgcc2.h
Loading
Please register or sign in to comment