diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2012-10-11 14:48:32 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2012-10-12 16:54:06 +0200 |
commit | ca38dc17d85b09776a709c8ea7155c414df14073 (patch) | |
tree | 1e5002e92489c76763d4fa955e8aa3f605b966e4 | |
parent | ac49ecaf9de65708d8b76a9f025c8c6aa82b4707 (diff) | |
download | glibc-ca38dc17d85b09776a709c8ea7155c414df14073.tar.gz glibc-ca38dc17d85b09776a709c8ea7155c414df14073.tar.xz glibc-ca38dc17d85b09776a709c8ea7155c414df14073.zip |
Avoid PLT references from __get_clockfreq on powerpc
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | include/string.h | 1 | ||||
-rw-r--r-- | string/memmem.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c | 10 |
4 files changed, 15 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 250d01cca4..ac521bfaaa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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> * sysdeps/x86_64/multiarch/ifunc-impl-list.c: New file. diff --git a/include/string.h b/include/string.h index f1077f66ed..d6d859491e 100644 --- a/include/string.h +++ b/include/string.h @@ -89,6 +89,7 @@ libc_hidden_proto (__strtok_r) extern char *__strsep_g (char **__stringp, const char *__delim); libc_hidden_proto (__strsep_g) libc_hidden_proto (strnlen) +libc_hidden_proto (memmem) libc_hidden_builtin_proto (memchr) libc_hidden_builtin_proto (memcpy) diff --git a/string/memmem.c b/string/memmem.c index 625c9cffda..06704cbb7a 100644 --- a/string/memmem.c +++ b/string/memmem.c @@ -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. 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 return two_way_long_needle (haystack, haystack_len, needle, needle_len); } +libc_hidden_def (memmem) #undef LONG_NEEDLE_THRESHOLD diff --git a/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c b/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c index d1e65a85ee..a863a27b32 100644 --- a/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c +++ b/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c @@ -1,5 +1,5 @@ /* 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. 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) #endif { - int fd = open ("/proc/cpuinfo", O_RDONLY); + int fd = __open ("/proc/cpuinfo", O_RDONLY); if (__builtin_expect (fd != -1, 1)) { @@ -58,7 +58,7 @@ __get_clockfreq (void) char buf[1024]; ssize_t n; - n = read (fd, buf, sizeof (buf)); + n = __read (fd, buf, sizeof (buf)); if (n == sizeof (buf)) { /* We are here because the 1st read returned exactly sizeof @@ -76,7 +76,7 @@ __get_clockfreq (void) while (n >= 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) n += half_buf; @@ -108,7 +108,7 @@ __get_clockfreq (void) } timebase_freq = result; } - close (fd); + __close (fd); } } |