Skip to content
Snippets Groups Projects
  • Iain Sandoe's avatar
    837827f8
    Fix __builtin_nested_func_ptr_{created,deleted} symbol versions [PR113402] · 837827f8
    Iain Sandoe authored
    
    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: default avatarIain Sandoe <iain@sandoe.co.uk>
    Co-authored-by: default avatarJakub Jelinek <jakub@redhat.com>
    837827f8
    History
    Fix __builtin_nested_func_ptr_{created,deleted} symbol versions [PR113402]
    Iain Sandoe authored
    
    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: default avatarIain Sandoe <iain@sandoe.co.uk>
    Co-authored-by: default avatarJakub Jelinek <jakub@redhat.com>