]> gcc.gnu.org Git - gcc.git/commit
libgcc: support heap-based trampolines
authorAndrew Burgess <andrew.burgess@embecosm.com>
Sat, 5 Aug 2023 12:31:06 +0000 (14:31 +0200)
committerIain Sandoe <iain@sandoe.co.uk>
Sun, 22 Oct 2023 13:01:47 +0000 (14:01 +0100)
commit8abddb187b33480d8827f44ec655f45734a1749d
tree418fa9ecdf84f5e83d34fa7f58d4887f5a67d621
parentcbf6da166ea7993e166dcb121fc7b9ef4ec87c89
libgcc: support heap-based trampolines

Add support for heap-based trampolines on x86_64-linux, aarch64-linux,
and x86_64-darwin. Implement the __builtin_nested_func_ptr_created and
__builtin_nested_func_ptr_deleted functions for these targets.

Co-Authored-By: Maxim Blinov <maxim.blinov@embecosm.com>
Co-Authored-By: Iain Sandoe <iain@sandoe.co.uk>
Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
libgcc/ChangeLog:

* libgcc2.h (__builtin_nested_func_ptr_created): Declare.
(__builtin_nested_func_ptr_deleted): Declare.
* libgcc-std.ver.in: Add the new symbols.
* config/aarch64/heap-trampoline.c: Implement heap-based
trampolines for aarch64.
* config/aarch64/t-heap-trampoline: Add rule to build
config/aarch64/heap-trampoline.c
* config/i386/heap-trampoline.c: Implement heap-based
trampolines for x86_64.
* config/i386/t-heap-trampoline: Add rule to build
config/i386/heap-trampoline.cc
* config.host: Handle --enable-heap-trampolines on
x86_64-*-linux*, aarch64-*-linux*, x86_64-*-darwin*.
libgcc/config.host
libgcc/config/aarch64/heap-trampoline.c [new file with mode: 0644]
libgcc/config/aarch64/t-heap-trampoline [new file with mode: 0644]
libgcc/config/i386/heap-trampoline.c [new file with mode: 0644]
libgcc/config/i386/t-heap-trampoline [new file with mode: 0644]
libgcc/libgcc-std.ver.in
libgcc/libgcc2.h
This page took 0.05725 seconds and 5 git commands to generate.