diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-06-23 20:04:23 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-06-23 20:04:23 +0000 |
commit | 16000c8d04f60a15fc0187e8719d741329501c39 (patch) | |
tree | 5710ffa231ea070279974c830e6e50bb9e1c259d /nptl/tst-sem5.c | |
parent | 049816c3be14e47e5fe10f8cd5a38bb611d34ce5 (diff) | |
download | glibc-16000c8d04f60a15fc0187e8719d741329501c39.tar.gz glibc-16000c8d04f60a15fc0187e8719d741329501c39.tar.xz glibc-16000c8d04f60a15fc0187e8719d741329501c39.zip |
Avoid localplt issues from x86 fereaiseexcept inline.
Building for x86_64 with float128 support, I get a localplt test failure from lrintf128 calling feraiseexcept. The problem is that an inline optimized version of feraiseexcept calls __feraiseexcept_renamed in cases where it doesn't completely expand inline, and that in turn is redirected to feraiseexcept for a library call, so meaning the redirection of feraiseexcept to __GI_feraiseexcept inside libm is lost for that call. This patch fixes the problem by moving the redirect to an internal header in the _LIBC case, with the internal header using __GI_feraiseexcept where appropriate. Tested for x86_64 (in conjunction with float128 patches). * sysdeps/x86/fpu/bits/fenv.h [_LIBC] (__feraiseexcept_renamed): Do not declare. * sysdeps/x86/fpu/include/bits/fenv.h [_LIBC && __USE_EXTERN_INLINES] (__feraiseexcept_renamed): Declare here, redirected to __GI_feraiseexcept if [SHARED && IS_IN (libm)].
Diffstat (limited to 'nptl/tst-sem5.c')
0 files changed, 0 insertions, 0 deletions