1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

Avoid PLT references from __get_clockfreq on powerpc

This commit is contained in:
Andreas Schwab
2012-10-11 14:48:32 +02:00
parent ac49ecaf9d
commit ca38dc17d8
4 changed files with 15 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2012-10-12 Andreas Schwab <schwab@linux-m68k.org>
* include/string.h (memmem): Declare libc hidden alias.
* string/memmem.c (memmem): Define libc hidden alias.
* sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c: Use __open,
__read, __close instead of open, read, close.
2012-10-11 H.J. Lu <hongjiu.lu@intel.com> 2012-10-11 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/multiarch/ifunc-impl-list.c: New file. * sysdeps/x86_64/multiarch/ifunc-impl-list.c: New file.

View File

@ -89,6 +89,7 @@ libc_hidden_proto (__strtok_r)
extern char *__strsep_g (char **__stringp, const char *__delim); extern char *__strsep_g (char **__stringp, const char *__delim);
libc_hidden_proto (__strsep_g) libc_hidden_proto (__strsep_g)
libc_hidden_proto (strnlen) libc_hidden_proto (strnlen)
libc_hidden_proto (memmem)
libc_hidden_builtin_proto (memchr) libc_hidden_builtin_proto (memchr)
libc_hidden_builtin_proto (memcpy) libc_hidden_builtin_proto (memcpy)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991,92,93,94,96,97,98,2000,2004,2008 Free Software Foundation, Inc. /* Copyright (C) 1991-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -73,5 +73,6 @@ memmem (const void *haystack_start, size_t haystack_len,
else else
return two_way_long_needle (haystack, haystack_len, needle, needle_len); return two_way_long_needle (haystack, haystack_len, needle, needle_len);
} }
libc_hidden_def (memmem)
#undef LONG_NEEDLE_THRESHOLD #undef LONG_NEEDLE_THRESHOLD

View File

@ -1,5 +1,5 @@
/* Get frequency of the system processor. powerpc/Linux version. /* Get frequency of the system processor. powerpc/Linux version.
Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc. Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -46,7 +46,7 @@ __get_clockfreq (void)
&& INTERNAL_SYSCALL_ERRNO (timebase_freq, err) == ENOSYS) && INTERNAL_SYSCALL_ERRNO (timebase_freq, err) == ENOSYS)
#endif #endif
{ {
int fd = open ("/proc/cpuinfo", O_RDONLY); int fd = __open ("/proc/cpuinfo", O_RDONLY);
if (__builtin_expect (fd != -1, 1)) if (__builtin_expect (fd != -1, 1))
{ {
@ -58,7 +58,7 @@ __get_clockfreq (void)
char buf[1024]; char buf[1024];
ssize_t n; ssize_t n;
n = read (fd, buf, sizeof (buf)); n = __read (fd, buf, sizeof (buf));
if (n == sizeof (buf)) if (n == sizeof (buf))
{ {
/* We are here because the 1st read returned exactly sizeof /* We are here because the 1st read returned exactly sizeof
@ -76,7 +76,7 @@ __get_clockfreq (void)
while (n >= half_buf) while (n >= half_buf)
{ {
memcpy (buf, buf + half_buf, half_buf); memcpy (buf, buf + half_buf, half_buf);
n = read (fd, buf + half_buf, half_buf); n = __read (fd, buf + half_buf, half_buf);
} }
if (n >= 0) if (n >= 0)
n += half_buf; n += half_buf;
@ -108,7 +108,7 @@ __get_clockfreq (void)
} }
timebase_freq = result; timebase_freq = result;
} }
close (fd); __close (fd);
} }
} }