[PATCH 7/7] RFC: ldbl-128ibm-compat: PLT redirects for using ldbl redirects internally

Tulio Magno Quites Machado Filho tuliom@ascii.art.br
Thu Feb 27 20:58:00 GMT 2020


"Paul E. Murphy" <murphyp@linux.vnet.ibm.com> writes:

> Tweak the PLT bypass magic when building glibc with long double
> redirects.  This is made more difficult by the fact we only get
> one chance to redirect functions.  This happens via the public
> headers.
>
> There are roughly three classes of redirect we need to attend to
> today:
>
>  1. Simple redirects, redirected via cdef macro overrides and
>     and new libc_hidden_ldbl_proto macro.
>  2. Internal usage of internal API, e.g __snprintf, which has
>     no direct analogue.  This is bypassed directly on case-by-
>     case basis.
>  3. Double redirects, e.g sscanf and related.  These require
>     a heavier handed approach of macro renaming to existing
>     symbols.
>
> Most simple redirects are handled via 1.  Ideally, the libc_*
> macro would live in libc-symbols.h, but in practice the macros
> needed for it to do anything useful live in cdefs.h, so they
> are defined in the local override.
>
> Notably, the internal name of asprintf is renamed to work with
> internal prefixed usage.
>
> This resolves the local plt usage introduced when building glibc
> with ldbl == ieee128 on ppc64le.

LGTM.

Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>

-- 
Tulio Magno



More information about the Libc-alpha mailing list