https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113403

--- Comment #16 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain D Sandoe <ia...@gcc.gnu.org>:

https://gcc.gnu.org/g:506e74f53a5e4f607284d3c41da17cdd3eca4fb8

commit r14-8521-g506e74f53a5e4f607284d3c41da17cdd3eca4fb8
Author: Iain Sandoe <i...@sandoe.co.uk>
Date:   Sun Jan 28 13:31:56 2024 +0000

    libgcc: Make heap trampoline support dynamic [PR113403].

    In order to handle system security constraints during GCC build
    and test and that most platform versions cannot link to libgcc_eh
    since the unwinder there is incompatible with the system one.

    1. We make the support functions weak definitions.
    2. We include them as a CRT for platform conditions that do not
       allow libgcc_eh.
    3. We ensure that the weak symbols are exported from DSOs (which
       includes exes on Darwin) so that the dynamic linker will
       pick one instance (which avoids duplication of trampoline
       caches).

            PR libgcc/113403

    gcc/ChangeLog:

            * config/darwin.h (DARWIN_SHARED_WEAK_ADDS, DARWIN_WEAK_CRTS): New.
            (REAL_LIBGCC_SPEC): Move weak CRT handling to separate spec.
            * config/i386/darwin.h (DARWIN_HEAP_T_LIB): New.
            * config/i386/darwin32-biarch.h (DARWIN_HEAP_T_LIB): New.
            * config/i386/darwin64-biarch.h (DARWIN_HEAP_T_LIB): New.
            * config/rs6000/darwin.h (DARWIN_HEAP_T_LIB): New.

    libgcc/ChangeLog:

            * config.host: Build libheap_t.a for i686/x86_64 Darwin.
            * config/aarch64/heap-trampoline.c (HEAP_T_ATTR): New.
            (allocate_tramp_ctrl): Allow a target to build this as a weak def.
            (__gcc_nested_func_ptr_created): Likewise.
            * config/i386/heap-trampoline.c (HEAP_T_ATTR): New.
            (allocate_tramp_ctrl): Allow a target to build this as a weak def.
            (__gcc_nested_func_ptr_created): Likewise.
            * config/t-darwin: Build libheap_t.a (a CRT with heap trampoline
            support).

Reply via email to