about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-10-11 14:48:32 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2012-10-12 16:54:06 +0200
commitca38dc17d85b09776a709c8ea7155c414df14073 (patch)
tree1e5002e92489c76763d4fa955e8aa3f605b966e4
parentac49ecaf9de65708d8b76a9f025c8c6aa82b4707 (diff)
downloadglibc-ca38dc17d85b09776a709c8ea7155c414df14073.tar.gz
glibc-ca38dc17d85b09776a709c8ea7155c414df14073.tar.xz
glibc-ca38dc17d85b09776a709c8ea7155c414df14073.zip
Avoid PLT references from __get_clockfreq on powerpc
-rw-r--r--ChangeLog7
-rw-r--r--include/string.h1
-rw-r--r--string/memmem.c3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c10
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);
 	}
     }