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

            Bug ID: 113403
           Summary: __builtin_nested_func_ptr_created,
                    __builtin_nested_func_ptr should be dynamically linked
                    by default
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcc
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fw at gcc dot gnu.org
  Target Milestone: ---

There are hidden definitions of __builtin_nested_func_ptr_created,
__builtin_nested_func_ptr in libgcc.a. As a result of the default link order,
the exported global definitions of these functions in libgcc_s.so.1 are never
used.

This is unfortunate because it means that every DSO that creates a trampoline
gets its own trampoline cache (one TLS variable and two data pages for
trampolines), increasing the overhead of this feature significantly.

Reply via email to