From ca38dc17d85b09776a709c8ea7155c414df14073 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 11 Oct 2012 14:48:32 +0200 Subject: [PATCH] Avoid PLT references from __get_clockfreq on powerpc --- ChangeLog | 7 +++++++ include/string.h | 1 + string/memmem.c | 3 ++- sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c | 10 +++++----- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 250d01c..ac521bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-10-12 Andreas Schwab + + * 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 * sysdeps/x86_64/multiarch/ifunc-impl-list.c: New file. diff --git a/include/string.h b/include/string.h index f1077f6..d6d8594 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 625c9cf..06704cb 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 d1e65a8..a863a27 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); } } -- 2.7.4