Switch gettimeofday from INTUSE to libc_hidden_proto.
authorRoland McGrath <roland@hack.frob.com>
Thu, 24 May 2012 18:37:30 +0000 (11:37 -0700)
committerRoland McGrath <roland@hack.frob.com>
Thu, 24 May 2012 20:12:34 +0000 (13:12 -0700)
ChangeLog
include/sys/time.h
sysdeps/mach/gettimeofday.c
sysdeps/posix/gettimeofday.c
sysdeps/unix/syscalls.list
sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
sysdeps/unix/sysv/linux/s390/gettimeofday.c
sysdeps/unix/sysv/linux/x86_64/gettimeofday.c
time/gettimeofday.c

index e81684e70cb322847f11d9f267a5f2981d3572d6..7c94fce7d774927bc9d701b19ccd7bf6ac2456bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2012-05-24  Roland McGrath  <roland@hack.frob.com>
+
+       [BZ #14132]
+       * include/sys/time.h (__gettimeofday): Remove macro.
+       (__gettimeofday, gettimeofday): Add libc_hidden_proto.
+       * time/gettimeofday.c (__gettimeofday): Remove #undef.
+       Remove INTDEF.
+       (__gettimeofday): Add libc_hidden_def.
+       (gettimeofday): Add libc_hidden_weak.
+       * sysdeps/mach/gettimeofday.c: Likewise.
+       * sysdeps/posix/gettimeofday.c: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c: Likewise.
+       * sysdeps/unix/sysv/linux/s390/gettimeofday.c: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c
+       (__gettimeofday_internal): Remove strong_alias.
+       (__gettimeofday): Add libc_hidden_def.
+       (gettimeofday): Add libc_hidden_weak.
+       * sysdeps/unix/syscalls.list (gettimeofday):
+       Remove __gettimeofday_internal alias.
+
 2012-05-24  Daniel Jacobowitz  <drow@false.org>
            H.J. Lu  <hongjiu.lu@intel.com>
 
 
        * manual/install.texi (Configuring and compiling): Update
        description about files modified in the source directory.
-        * INSTALL: Regenerated.
+       * INSTALL: Regenerated.
 
 2012-05-18  H.J. Lu  <hongjiu.lu@intel.com>
 
index d5de942ed66207b51a00fa30718ac8b87db6a393..599e189bcd67a3533b613231af3f18eaae60deac 100644 (file)
@@ -5,9 +5,8 @@
 /* Now document the internal interfaces.  */
 extern int __gettimeofday (struct timeval *__tv,
                           struct timezone *__tz);
-extern int __gettimeofday_internal (struct timeval *__tv,
-                                   struct timezone *__tz)
-       attribute_hidden;
+libc_hidden_proto (__gettimeofday)
+libc_hidden_proto (gettimeofday)
 extern int __settimeofday (const struct timeval *__tv,
                           const struct timezone *__tz)
        attribute_hidden;
@@ -23,9 +22,5 @@ extern int __utimes (const char *__file, const struct timeval __tvp[2])
        attribute_hidden;
 extern int __futimes (int fd, const struct timeval tvp[2]) attribute_hidden;
 
-#ifndef NOT_IN_libc
-# define __gettimeofday(tv, tz) INTUSE(__gettimeofday) (tv, tz)
-#endif
-
 #endif
 #endif
index 88dca8e89ef5efee0558dd0e5acf73b244dd4cf4..293a77595b417dfa116e48fe15112f87e5f025ab 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1995-1997,2001,2002 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
@@ -20,8 +20,6 @@
 #include <sys/time.h>
 #include <mach.h>
 
-#undef __gettimeofday
-
 /* Get the current time of day and timezone information,
    putting it into *TV and *TZ.  If TZ is NULL, *TZ is not filled.
    Returns 0 on success, -1 on errors.  */
@@ -42,6 +40,6 @@ __gettimeofday (tv, tz)
     }
   return 0;
 }
-
-INTDEF(__gettimeofday)
+libc_hidden_def (__gettimeofday)
 weak_alias (__gettimeofday, gettimeofday)
+libc_hidden_weak (gettimeofday)
index 31b3dd3fa1a860b45747fb93803c561a5d5278d4..1108ff016705d73d21fad91c56d72da299bc050c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1994-1997,2002,2005 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
@@ -19,8 +19,6 @@
 #include <time.h>
 #include <sys/time.h>
 
-#undef __gettimeofday
-
 /* Get the current time of day and timezone information,
    putting it into *TV and *TZ.  If TZ is NULL, *TZ is not filled.
    Returns 0 on success, -1 on errors.  */
@@ -66,6 +64,6 @@ __gettimeofday (tv, tz)
 
   return 0;
 }
-
-INTDEF(__gettimeofday)
+libc_hidden_def (__gettimeofday)
 weak_alias (__gettimeofday, gettimeofday)
+libc_hidden_weak (gettimeofday)
index 39c40ed7f6e2d3517c48b6aa18dc550081789be9..bd780f5695089571948fcabb537d2edeeb1e63ec 100644 (file)
@@ -26,7 +26,7 @@ getpid                -       getpid          Ei:     __getpid        getpid
 getpriority    -       getpriority     i:ii    getpriority
 getrlimit      -       getrlimit       i:ip    __getrlimit     getrlimit
 getrusage      -       getrusage       i:ip    __getrusage     getrusage
-gettimeofday   -       gettimeofday    i:PP    __gettimeofday  gettimeofday __gettimeofday_internal
+gettimeofday   -       gettimeofday    i:pP    __gettimeofday  gettimeofday
 getuid         -       getuid          Ei:     __getuid        getuid
 ioctl          -       ioctl           i:iiI   __ioctl         ioctl
 kill           -       kill            i:ii    __kill          kill
index b2ef2da9730aff1584f8d78feeed909ea46a836c..737613516f4073273d2838bb7d20baf1eb6edbd6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005-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
@@ -22,7 +22,6 @@
 #include <time.h>
 #include <hp-timing.h>
 
-#undef __gettimeofday
 #include <bits/libc-vdso.h>
 
 /* Get the current time of day and timezone information,
@@ -36,6 +35,6 @@ __gettimeofday (tv, tz)
 {
   return INLINE_VSYSCALL (gettimeofday, 2, CHECK_1 (tv), CHECK_1 (tz));
 }
-
-INTDEF (__gettimeofday)
+libc_hidden_def (__gettimeofday)
 weak_alias (__gettimeofday, gettimeofday)
+libc_hidden_weak (gettimeofday)
index 63faef85b6aa6be3317bdef52287ec49bfab9b6a..efbf1e8110f71cdbe86fe07c1f0876ef5fe1bbc8 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2008-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
@@ -22,7 +22,6 @@
 #include <time.h>
 #include <hp-timing.h>
 
-#undef __gettimeofday
 #include <bits/libc-vdso.h>
 
 /* Get the current time of day and timezone information,
@@ -36,6 +35,6 @@ __gettimeofday (tv, tz)
 {
   return INLINE_VSYSCALL (gettimeofday, 2, CHECK_1 (tv), CHECK_1 (tz));
 }
-
-INTDEF (__gettimeofday)
+libc_hidden_def (__gettimeofday)
 weak_alias (__gettimeofday, gettimeofday)
+libc_hidden_weak (gettimeofday)
index e41fddb297aaa1cc538a280dde078a78f3e2c6e7..d52f938e7127dc0a15ab5c79772119dbd0008667 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2007, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2002-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
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#include <dl-vdso.h>
+#include <sys/time.h>
 
+#ifdef SHARED
 
-#define VSYSCALL_ADDR_vgettimeofday    0xffffffffff600000ul
+# include <dl-vdso.h>
 
+# define VSYSCALL_ADDR_vgettimeofday   0xffffffffff600000ul
 
-#ifdef SHARED
 void *gettimeofday_ifunc (void) __asm__ ("__gettimeofday");
 
 void *
@@ -33,9 +34,16 @@ gettimeofday_ifunc (void)
   return (_dl_vdso_vsym ("__vdso_gettimeofday", &linux26)
          ?: (void *) VSYSCALL_ADDR_vgettimeofday);
 }
-__asm (".type __gettimeofday, %gnu_indirect_function");
+asm (".type __gettimeofday, %gnu_indirect_function");
+
+/* This is doing "libc_hidden_def (__gettimeofday)" but the compiler won't
+   let us do it in C because it doesn't know we're defining __gettimeofday
+   here in this file.  */
+asm (".globl __GI___gettimeofday\n"
+     "__GI___gettimeofday = __gettimeofday");
+
 #else
-# include <sys/time.h>
+
 # include <sysdep.h>
 # include <errno.h>
 
@@ -44,7 +52,8 @@ __gettimeofday (struct timeval *tv, struct timezone *tz)
 {
   return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
 }
-#endif
+libc_hidden_def (__gettimeofday)
 
+#endif
 weak_alias (__gettimeofday, gettimeofday)
-strong_alias (__gettimeofday, __gettimeofday_internal)
+libc_hidden_weak (gettimeofday)
index cfe6549db0a0b0b777947d6156153082bf361d1d..7eb770c2d76f39af42fdc6ece7663e366cb5ba6a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 2002 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
@@ -18,8 +18,6 @@
 #include <errno.h>
 #include <sys/time.h>
 
-#undef __gettimeofday
-
 /* Get the current time of day and timezone information,
    putting it into *TV and *TZ.  If TZ is NULL, *TZ is not filled.
    Returns 0 on success, -1 on errors.  */
@@ -31,8 +29,9 @@ __gettimeofday (tv, tz)
   __set_errno (ENOSYS);
   return -1;
 }
-stub_warning (gettimeofday)
-
-INTDEF(__gettimeofday)
+libc_hidden_def (__gettimeofday)
 weak_alias (__gettimeofday, gettimeofday)
+libc_hidden_weak (gettimeofday)
+
+stub_warning (gettimeofday)
 #include <stub-tag.h>