diff options
author | Zack Weinberg <zackw@panix.com> | 2018-03-18 17:01:06 -0400 |
---|---|---|
committer | Zack Weinberg <zackw@panix.com> | 2018-03-26 09:05:19 -0400 |
commit | f66704a937db50bbd78acc5c29f569b4c8e35d19 (patch) | |
tree | 92d261f99ff3346bffb3a61f6e788fe0daf6093e /sysdeps/i386 | |
parent | 9ea49e16c79bd2acd0d0648ca0163f26dd1c3dae (diff) | |
download | glibc-zack/wip-check-localplt-2.tar glibc-zack/wip-check-localplt-2.tar.gz glibc-zack/wip-check-localplt-2.tar.bz2 glibc-zack/wip-check-localplt-2.zip |
WIP finer-grained, more aggressive local PLT call checkzack/wip-check-localplt-2
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/fpu/s_rintl.c | 5 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/memrchr.c | 9 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strncase.c | 2 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/wcslen.c | 10 | ||||
-rw-r--r-- | sysdeps/i386/strchrnul.S | 2 |
5 files changed, 16 insertions, 12 deletions
diff --git a/sysdeps/i386/fpu/s_rintl.c b/sysdeps/i386/fpu/s_rintl.c index 5900435af9..0d96296902 100644 --- a/sysdeps/i386/fpu/s_rintl.c +++ b/sysdeps/i386/fpu/s_rintl.c @@ -4,8 +4,9 @@ * Public domain. */ -#include <libm-alias-ldouble.h> +#include <math.h> #include <math_private.h> +#include <libm-alias-ldouble.h> long double __rintl (long double x) @@ -15,5 +16,5 @@ __rintl (long double x) asm ("frndint" : "=t" (res) : "0" (x)); return res; } - +libm_hidden_def (__rintl) libm_alias_ldouble (__rint, rint) diff --git a/sysdeps/i386/i686/multiarch/memrchr.c b/sysdeps/i386/i686/multiarch/memrchr.c index 1c0d9caf55..9e839ed39e 100644 --- a/sysdeps/i386/i686/multiarch/memrchr.c +++ b/sysdeps/i386/i686/multiarch/memrchr.c @@ -17,16 +17,17 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <string.h> + /* Define multiple versions only for the definition in libc. */ #if IS_IN (libc) -# define memrchr __redirect_memrchr -# include <string.h> -# undef memrchr + +extern typeof (__memrchr) __redirect_memrchr; # define SYMBOL_NAME memrchr # include "ifunc-sse2-bsf.h" libc_ifunc_redirected (__redirect_memrchr, __memrchr, IFUNC_SELECTOR ()); - +libc_hidden_def (__memrchr) weak_alias (__memrchr, memrchr) #endif diff --git a/sysdeps/i386/i686/multiarch/strncase.c b/sysdeps/i386/i686/multiarch/strncase.c index 12c3b82e12..0f50506805 100644 --- a/sysdeps/i386/i686/multiarch/strncase.c +++ b/sysdeps/i386/i686/multiarch/strncase.c @@ -30,6 +30,6 @@ libc_ifunc_redirected (__redirect_strncasecmp, __strncasecmp, IFUNC_SELECTOR ()); - +libc_hidden_def (__strncasecmp) weak_alias (__strncasecmp, strncasecmp) #endif diff --git a/sysdeps/i386/i686/multiarch/wcslen.c b/sysdeps/i386/i686/multiarch/wcslen.c index 9f1b238a44..bc2a6e5047 100644 --- a/sysdeps/i386/i686/multiarch/wcslen.c +++ b/sysdeps/i386/i686/multiarch/wcslen.c @@ -17,15 +17,17 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <wchar.h> + /* Define multiple versions only for the definition in libc. */ #if IS_IN (libc) -# define __wcslen __redirect_wcslen -# include <wchar.h> -# undef __wcslen + +extern typeof (__wcslen) __redirect_wcslen; # define SYMBOL_NAME wcslen # include "ifunc-sse2.h" libc_ifunc_redirected (__redirect_wcslen, __wcslen, IFUNC_SELECTOR ()); -weak_alias (__wcslen, wcslen); +libc_hidden_def (__wcslen) +weak_alias (__wcslen, wcslen) #endif diff --git a/sysdeps/i386/strchrnul.S b/sysdeps/i386/strchrnul.S index 80a4d2a9ab..3afe4833c5 100644 --- a/sysdeps/i386/strchrnul.S +++ b/sysdeps/i386/strchrnul.S @@ -274,5 +274,5 @@ L(6): popl %edi /* restore saved register content */ ret END (__strchrnul) - +libc_hidden_def (__strchrnul) weak_alias (__strchrnul, strchrnul) |