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

--- Comment #6 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:5e39897ee2c73938fa940c4792d987608aeeebcd

commit r14-8931-g5e39897ee2c73938fa940c4792d987608aeeebcd
Author: Iain Sandoe <i...@sandoe.co.uk>
Date:   Sat Feb 10 14:44:41 2024 +0000

    x86, libgcc: Implement ia32 basic heap trampoline [PR113855].

    The initial heap trampoline implementation was targeting 64b
    platforms.  As the PR demonstrates this creates an issue where it
    is expected that the same symbols are exported for 32 and 64b.

    Rather than conditionalize the exports and code-gen on x86_64,
    this patch provides a basic implementation of the IA32 trampoline.

    This also avoids potential user confusion, when a 32b target has
    64b multilibs, and vice versa; which is the case for Darwin.

            PR target/113855

    gcc/ChangeLog:

            * config/i386/darwin.h (DARWIN_HEAP_T_LIB): Moved to be
            available to all sub-targets.
            * config/i386/darwin32-biarch.h (DARWIN_HEAP_T_LIB): Delete.
            * config/i386/darwin64-biarch.h (DARWIN_HEAP_T_LIB): Delete.

    libgcc/ChangeLog:

            * config.host: Add trampoline support to x?86-linux.
            * config/i386/heap-trampoline.c (trampoline_insns): Provide
            a variant for IA32.
            (union ix86_trampoline): Likewise.
            (__gcc_nested_func_ptr_created): Implement a basic trampoline
            for IA32.

Reply via email to