Skip to content
Commit 1ef9b6e0 authored by Tulio Magno Quites Machado Filho's avatar Tulio Magno Quites Machado Filho Committed by Gabriel F. T. Gomes
Browse files

Do not redirect calls to __GI_* symbols, when redirecting to *ieee128



On platforms where long double has IEEE binary128 format as a third
option (initially, only powerpc64le), many exported functions are
redirected to their __*ieee128 equivalents.  This redirection is
provided by installed headers such as stdio-ldbl.h, and is supposed to
work correctly with user code.

However, during the build of glibc, similar redirections are employed,
in internal headers, such as include/stdio.h, in order to avoid extra
PLT entries.  These redirections conflict with the redirections to
__*ieee128, and must be avoided during the build.  This patch protects
the second redirections with a test for __LONG_DOUBLE_USES_FLOAT128, a
new macro that is defined to 1 when functions that deal with long double
typed values reuses the _Float128 implementation (this is currently only
true for powerpc64le).

Tested for powerpc64le, x86_64, and with build-many-glibcs.py.

Co-authored-by: default avatarGabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Reviewed-by: default avatarFlorian Weimer <fweimer@redhat.com>
parent 863d775c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment