]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Clean pthread functions namespaces for C11 threads
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 2 Dec 2016 18:32:28 +0000 (16:32 -0200)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 23 Jun 2017 20:38:17 +0000 (17:38 -0300)
This patch adds internal definition (through {libc_}hidden_{proto,def}) and
also change some strong to weak alias for symbols that might be used by C11
threads implementations.

The patchset should not change libc/libpthread functional, although object
changes are expected (since now internal symbols are used instead) and final
exported symbols through GLIBC_PRIVATE is also expanded (to cover libpthread
usage of __mmap{64}, __munmap, __mprotect).

Checked with a build for all major ABI (aarch64-linux-gnu, alpha-linux-gnu,
arm-linux-gnueabi, i386-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
microblaze-linux-gnu [1], mips{64}-linux-gnu, nios2-linux-gnu,
powerpc{64le}-linux-gnu, s390{x}-linux-gnu, sparc{64}-linux-gnu,
tile{pro,gx}-linux-gnu, and x86_64-linux-gnu).

* include/sched.h (__sched_get_priority_max): Add libc hidden proto.
(__sched_get_prioriry_min): Likewise.
* include/sys/mman.h (__mmap): Likewise.
(__mmap64): Likewise.
(__munmap): Likewise.
(__mprotect): Likewise.
* include/termios.h (__tcsetattr): Likewise.
* include/time.h (__nanosleep): Use hidden_proto instead of
libc_hidden_proto.
* posix/nanosleep.c (__nanosleep): Likewise.
* misc/Versions (libc): Export __mmap, __munmap, __mprotect,
__sched_get_priority_min, and __sched_get_priority_max under
GLIBC_PRIVATE.
* nptl/allocatestack.c (__free_stacks): Use internal definition for
libc symbols.
(change_stack_perm): Likewise.
(allocate_stack): Likewise.
* sysdeps/posix/gethostname.c: Likewise.
* nptl/tpp.c (__init_sched_fifo_prio): Likewise.
* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
* sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Likewise.
* nptl/pthreadP.h (__pthread_mutex_timedlock): Add definition.
(__pthread_key_delete): Likewise.
(__pthread_detach): Likewise.
(__pthread_cancel): Likewise.
(__pthread_mutex_trylock): Likewise.
(__pthread_mutexattr_init): Likewise.
(__pthread_mutexattr_settype): Likewise.
* nptl/pthread_cancel.c (pthread_cancel): Change to internal name and
create alias for exported one.
* nptl/pthread_join.c (pthread_join): Likewise.
* nptl/pthread_detach.c (pthread_detach): Likewise.
* nptl/pthread_key_delete.c (pthread_key_delete): Likewise.
* nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise.
* nptl/pthread_create.c: Change static requirements for pthread
symbols.
* nptl/pthread_equal.c (__pthread_equal): Change strong alias to weak
for internal definition.
* nptl/pthread_exit.c (__pthread_exit): Likewise.
* nptl/pthread_getspecific.c (__pthread_getspecific): Likewise.
* nptl/pthread_key_create.c (__pthread_key_create): Likewise.
* nptl/pthread_mutex_destroy.c (__pthread_mutex_destroy): Likewise.
* nptl/pthread_mutex_init.c (__pthread_mutex_init): Likewise.
* nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise.
* nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): Likewise.
* nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock): Likewise.
* nptl/pthread_mutexattr_init.c (__pthread_mutexattr_init): Likwise.
* nptl/pthread_mutexattr_settype.c (__pthread_mutexattr_settype):
Likewise.
* nptl/pthread_self.c (__pthread_self): Likewise.
* nptl/pthread_setspecific.c (__pthread_setspecific): Likewise.
* sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise.
* misc/mmap.c (__mmap): Add internal symbol definition.
* misc/mmap.c (__mmap64): Likewise.
* sysdeps/unix/sysv/linux/mmap.c (__mmap): Likewise.
* sysdeps/unix/sysv/linux/mmap64.c (__mmap): Likewise.
(__mmap64): Likewise.
* sysdeps/unix/sysv/linux/i386/Versions (libc) [GLIBC_PRIVATE):
Add __uname.

39 files changed:
ChangeLog
include/sched.h
include/sys/mman.h
include/termios.h
include/time.h
misc/Versions
misc/mmap.c
misc/mmap64.c
nptl/allocatestack.c
nptl/pthreadP.h
nptl/pthread_cancel.c
nptl/pthread_create.c
nptl/pthread_detach.c
nptl/pthread_equal.c
nptl/pthread_exit.c
nptl/pthread_getspecific.c
nptl/pthread_join.c
nptl/pthread_key_create.c
nptl/pthread_key_delete.c
nptl/pthread_mutex_destroy.c
nptl/pthread_mutex_init.c
nptl/pthread_mutex_lock.c
nptl/pthread_mutex_timedlock.c
nptl/pthread_mutex_trylock.c
nptl/pthread_mutex_unlock.c
nptl/pthread_mutexattr_init.c
nptl/pthread_mutexattr_settype.c
nptl/pthread_self.c
nptl/pthread_setspecific.c
nptl/tpp.c
posix/nanosleep.c
sysdeps/posix/gethostname.c
sysdeps/unix/sysv/linux/i386/Versions
sysdeps/unix/sysv/linux/i386/smp.h
sysdeps/unix/sysv/linux/mmap.c
sysdeps/unix/sysv/linux/mmap64.c
sysdeps/unix/sysv/linux/nanosleep.c
sysdeps/unix/sysv/linux/powerpc/ioctl.c
sysdeps/unix/sysv/linux/tcsetattr.c

index 53b141b51d63d57f940672660b732092c0feeb76..9b055b421e869b15e6d3d384e423e262ab5e0076 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,67 @@
+2017-05-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+           Juan Manuel Torres Palma  <jmtorrespalma@gmail.com>
+
+       * include/sched.h (__sched_get_priority_max): Add libc hidden proto.
+       (__sched_get_prioriry_min): Likewise.
+       * include/sys/mman.h (__mmap): Likewise.
+       (__mmap64): Likewise.
+       (__munmap): Likewise.
+       (__mprotect): Likewise.
+       * include/termios.h (__tcsetattr): Likewise.
+       * include/time.h (__nanosleep): Use hidden_proto instead of
+       libc_hidden_proto.
+       * posix/nanosleep.c (__nanosleep): Likewise.
+       * misc/Versions (libc): Export __mmap, __munmap, __mprotect,
+       __sched_get_priority_min, and __sched_get_priority_max under
+       GLIBC_PRIVATE.
+       * nptl/allocatestack.c (__free_stacks): Use internal definition for
+       libc symbols.
+       (change_stack_perm): Likewise.
+       (change_stack_perm): Likewise.
+       (allocate_stack): Likewise.
+       * sysdeps/posix/gethostname.c: Likewise.
+       * nptl/tpp.c (__init_sched_fifo_prio): Likewise.
+       * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Likewise.
+       * nptl/pthreadP.h (__pthread_mutex_timedlock): Add definition.
+       (__pthread_key_delete): Likewise.
+       (__pthread_detach): Likewise.
+       (__pthread_cancel): Likewise.
+       (__pthread_mutex_trylock): Likewise.
+       (__pthread_mutexattr_init): Likewise.
+       (__pthread_mutexattr_settype): Likewise.
+       * nptl/pthread_cancel.c (pthread_cancel): Change to internal name and
+       create alias for exported one.
+       * nptl/pthread_join.c (pthread_join): Likewise.
+       * nptl/pthread_detach.c (pthread_detach): Likewise.
+       * nptl/pthread_key_delete.c (pthread_key_delete): Likewise.
+       * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise.
+       * nptl/pthread_create.c: Change static requirements for pthread
+       symbols.
+       * nptl/pthread_equal.c (__pthread_equal): Change strong alias to weak
+       for internal definition.
+       * nptl/pthread_exit.c (__pthread_exit): Likewise.
+       * nptl/pthread_getspecific.c (__pthread_getspecific): Likewise.
+       * nptl/pthread_key_create.c (__pthread_key_create): Likewise.
+       * nptl/pthread_mutex_destroy.c (__pthread_mutex_destroy): Likewise.
+       * nptl/pthread_mutex_init.c (__pthread_mutex_init): Likewise.
+       * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise.
+       * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): Likewise.
+       * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock): Likewise.
+       * nptl/pthread_mutexattr_init.c (__pthread_mutexattr_init): Likwise.
+       * nptl/pthread_mutexattr_settype.c (__pthread_mutexattr_settype):
+       Likewise.
+       * nptl/pthread_self.c (__pthread_self): Likewise.
+       * nptl/pthread_setspecific.c (__pthread_setspecific): Likewise.
+       * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise.
+       * misc/mmap.c (__mmap): Add internal symbol definition.
+       * misc/mmap.c (__mmap64): Likewise.
+       * sysdeps/unix/sysv/linux/mmap.c (__mmap): Likewise.
+       * sysdeps/unix/sysv/linux/mmap64.c (__mmap): Likewise.
+       (__mmap64): Likewise.
+       * sysdeps/unix/sysv/linux/i386/Versions (libc) [GLIBC_PRIVATE):
+       Add __uname.
+
 2017-06-23  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/i386/fpu/libm-test-ulps: Update.
index b4d74064de1e2f912b062867fba2e947a497990e..f75faed4ce7e5d62d9eb75a16aa35871a2c7a513 100644 (file)
@@ -13,7 +13,9 @@ extern int __sched_getscheduler (__pid_t __pid);
 extern int __sched_yield (void);
 libc_hidden_proto (__sched_yield)
 extern int __sched_get_priority_max (int __algorithm);
+libc_hidden_proto (__sched_get_priority_max)
 extern int __sched_get_priority_min (int __algorithm);
+libc_hidden_proto (__sched_get_priority_min)
 extern int __sched_rr_get_interval (__pid_t __pid, struct timespec *__t);
 
 /* These are Linux specific.  */
index 7026f69f42a16d759e2e4ba9caada7f41b97c0cf..8b996fce73949e95b56c706cd3f5f4a34f3046be 100644 (file)
@@ -5,10 +5,14 @@
 /* Now define the internal interfaces.  */
 extern void *__mmap (void *__addr, size_t __len, int __prot,
                     int __flags, int __fd, __off_t __offset);
+libc_hidden_proto (__mmap)
 extern void *__mmap64 (void *__addr, size_t __len, int __prot,
                       int __flags, int __fd, __off64_t __offset);
+libc_hidden_proto (__mmap64)
 extern int __munmap (void *__addr, size_t __len);
+libc_hidden_proto (__munmap)
 extern int __mprotect (void *__addr, size_t __len, int __prot);
+libc_hidden_proto (__mprotect)
 
 extern int __madvise (void *__addr, size_t __len, int __advice);
 libc_hidden_proto (__madvise)
index fad51f83854939dde192e82b3f1108a59ad8bcdc..1a36e226b8313704d26b97b467c5e7a03294e3d3 100644 (file)
@@ -4,6 +4,8 @@
 #ifndef _ISOMAC
 /* Now define the internal interfaces.  */
 extern int __tcgetattr (int __fd, struct termios *__termios_p);
+extern int __tcsetattr (int __fd, int __optional_actions,
+                       const struct termios *__termios_p);
 
 extern int __libc_tcdrain (int __fd);
 
index 7eb0fa72d99fb96b0dff02854e60db507591ad54..9956b82eb8828f0a40af8f7ecea4abaa8d1b28c8 100644 (file)
@@ -78,7 +78,7 @@ extern struct tm *__tz_convert (const time_t *timer, int use_localtime, struct t
 
 extern int __nanosleep (const struct timespec *__requested_time,
                        struct timespec *__remaining);
-libc_hidden_proto (__nanosleep)
+hidden_proto (__nanosleep)
 extern int __nanosleep_nocancel (const struct timespec *__requested_time,
                                 struct timespec *__remaining)
   attribute_hidden;
index bafda78a1f5a286646395a2f7086b0bba0d2f55e..bfbda505e4dd8743e01c91c25c6851dd054027bd 100644 (file)
@@ -163,5 +163,7 @@ libc {
     __mktemp;
     __libc_ifunc_impl_list;
     __tdelete; __tfind; __tsearch; __twalk;
+    __mmap; __munmap; __mprotect;
+    __sched_get_priority_min; __sched_get_priority_max;
   }
 }
index 576d66a1e818fe2bfae1bae4977f089d55d6f7e1..4172d76ef68f57200700e33a039840808294bb1a 100644 (file)
@@ -37,3 +37,4 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
 
 stub_warning (mmap)
 weak_alias (__mmap, mmap)
+libc_hidden_def (__mmap)
index 6b1ac41c844fab1f5b5ff07e829e626f6161c8ec..845b8475872c7ee34648f84d73d2fbc4d1e71a38 100644 (file)
@@ -45,3 +45,4 @@ __mmap64 (__ptr_t addr, size_t len, int prot, int flags, int fd,
 }
 
 weak_alias (__mmap64, mmap64)
+libc_hidden_def (__mmap64)
index 8364406b1bd007aa35aeb3ac1346d1b5fe01f1f4..ec7d42e027ba0ef76cc289d7bf0833c433685193 100644 (file)
@@ -278,7 +278,7 @@ __free_stacks (size_t limit)
 
          /* Remove this block.  This should never fail.  If it does
             something is really wrong.  */
-         if (munmap (curr->stackblock, curr->stackblock_size) != 0)
+         if (__munmap (curr->stackblock, curr->stackblock_size) != 0)
            abort ();
 
          /* Maybe we have freed enough.  */
@@ -328,7 +328,7 @@ change_stack_perm (struct pthread *pd
 #else
 # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP"
 #endif
-  if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
+  if (__mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
     return errno;
 
   return 0;
@@ -359,14 +359,14 @@ setup_stack_prot (char *mem, size_t size, char *guard, size_t guardsize,
 #if _STACK_GROWS_DOWN
   /* As defined at guard_position, for architectures with downward stack
      the guard page is always at start of the allocated area.  */
-  if (mprotect (guardend, size - guardsize, prot) != 0)
+  if (__mprotect (guardend, size - guardsize, prot) != 0)
     return errno;
 #else
   size_t mprots1 = (uintptr_t) guard - (uintptr_t) mem;
-  if (mprotect (mem, mprots1, prot) != 0)
+  if (__mprotect (mem, mprots1, prot) != 0)
     return errno;
   size_t mprots2 = ((uintptr_t) mem + size) - (uintptr_t) guardend;
-  if (mprotect (guardend, mprots2, prot) != 0)
+  if (__mprotect (guardend, mprots2, prot) != 0)
     return errno;
 #endif
   return 0;
@@ -530,8 +530,8 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
          /* If a guard page is required, avoid committing memory by first
             allocate with PROT_NONE and then reserve with required permission
             excluding the guard page.  */
-         mem = mmap (NULL, size, (guardsize == 0) ? prot : PROT_NONE,
-                     MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);
+         mem = __mmap (NULL, size, (guardsize == 0) ? prot : PROT_NONE,
+                       MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);
 
          if (__glibc_unlikely (mem == MAP_FAILED))
            return errno;
@@ -557,7 +557,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
                                            pagesize_m1);
              if (setup_stack_prot (mem, size, guard, guardsize, prot) != 0)
                {
-                 munmap (mem, size);
+                 __munmap (mem, size);
                  return errno;
                }
            }
@@ -600,7 +600,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
              assert (errno == ENOMEM);
 
              /* Free the stack memory we just allocated.  */
-             (void) munmap (mem, size);
+             (void) __munmap (mem, size);
 
              return errno;
            }
@@ -630,7 +630,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
              if (err != 0)
                {
                  /* Free the stack memory we just allocated.  */
-                 (void) munmap (mem, size);
+                 (void) __munmap (mem, size);
 
                  return err;
                }
@@ -650,7 +650,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
        {
          char *guard = guard_position (mem, size, guardsize, pd,
                                        pagesize_m1);
-         if (mprotect (guard, guardsize, PROT_NONE) != 0)
+         if (__mprotect (guard, guardsize, PROT_NONE) != 0)
            {
            mprot_error:
              lll_lock (stack_cache_lock, LLL_PRIVATE);
@@ -668,7 +668,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
                 of memory caused problems we better do not use it
                 anymore.  Uh, and we ignore possible errors.  There
                 is nothing we could do.  */
-             (void) munmap (mem, size);
+             (void) __munmap (mem, size);
 
              return errno;
            }
@@ -685,19 +685,19 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
          char *oldguard = mem + (((size - pd->guardsize) / 2) & ~pagesize_m1);
 
          if (oldguard < guard
-             && mprotect (oldguard, guard - oldguard, prot) != 0)
+             && __mprotect (oldguard, guard - oldguard, prot) != 0)
            goto mprot_error;
 
-         if (mprotect (guard + guardsize,
+         if (__mprotect (guard + guardsize,
                        oldguard + pd->guardsize - guard - guardsize,
                        prot) != 0)
            goto mprot_error;
 #elif _STACK_GROWS_DOWN
-         if (mprotect ((char *) mem + guardsize, pd->guardsize - guardsize,
+         if (__mprotect ((char *) mem + guardsize, pd->guardsize - guardsize,
                        prot) != 0)
            goto mprot_error;
 #elif _STACK_GROWS_UP
-         if (mprotect ((char *) pd - pd->guardsize,
+         if (__mprotect ((char *) pd - pd->guardsize,
                        pd->guardsize - guardsize, prot) != 0)
            goto mprot_error;
 #endif
index 7fc1e50f78db72930d6918e21c8ec240a3019d6d..6e7d6ff09edfeecfcd6c636f79b515a1053233de 100644 (file)
@@ -428,6 +428,8 @@ extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
 extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
 extern int __pthread_mutex_trylock (pthread_mutex_t *_mutex);
 extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
+extern int __pthread_mutex_timedlock (pthread_mutex_t *__mutex,
+     const struct timespec *__abstime);
 extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex)
      attribute_hidden internal_function;
 extern void __pthread_mutex_cond_lock_adjust (pthread_mutex_t *__mutex)
@@ -491,6 +493,7 @@ extern int __pthread_cond_timedwait (pthread_cond_t *cond,
 extern int __pthread_condattr_destroy (pthread_condattr_t *attr);
 extern int __pthread_condattr_init (pthread_condattr_t *attr);
 extern int __pthread_key_create (pthread_key_t *key, void (*destr) (void *));
+extern int __pthread_key_delete (pthread_key_t key);
 extern void *__pthread_getspecific (pthread_key_t key);
 extern int __pthread_setspecific (pthread_key_t key, const void *value);
 extern int __pthread_once (pthread_once_t *once_control,
@@ -499,8 +502,11 @@ extern int __pthread_atfork (void (*prepare) (void), void (*parent) (void),
                             void (*child) (void));
 extern pthread_t __pthread_self (void);
 extern int __pthread_equal (pthread_t thread1, pthread_t thread2);
+extern int __pthread_detach (pthread_t th);
+extern int __pthread_cancel (pthread_t th);
 extern int __pthread_kill (pthread_t threadid, int signo);
 extern void __pthread_exit (void *value) __attribute__ ((__noreturn__));
+extern int __pthread_join (pthread_t threadid, void **thread_return);
 extern int __pthread_setcanceltype (int type, int *oldtype);
 extern int __pthread_enable_asynccancel (void) attribute_hidden;
 extern void __pthread_disable_asynccancel (int oldtype)
@@ -511,6 +517,7 @@ extern void __pthread_testcancel (void);
 hidden_proto (__pthread_mutex_init)
 hidden_proto (__pthread_mutex_destroy)
 hidden_proto (__pthread_mutex_lock)
+hidden_proto (__pthread_mutex_trylock)
 hidden_proto (__pthread_mutex_unlock)
 hidden_proto (__pthread_rwlock_rdlock)
 hidden_proto (__pthread_rwlock_wrlock)
@@ -521,6 +528,8 @@ hidden_proto (__pthread_setspecific)
 hidden_proto (__pthread_once)
 hidden_proto (__pthread_setcancelstate)
 hidden_proto (__pthread_testcancel)
+hidden_proto (__pthread_mutexattr_init)
+hidden_proto (__pthread_mutexattr_settype)
 #endif
 
 extern int __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond);
index 231a58df187acbcc678680bb9ca459c2232523ad..742dfe61d9a7e2ac870c66a3c207813dae8f549d 100644 (file)
@@ -25,7 +25,7 @@
 #include <unistd.h>
 
 int
-pthread_cancel (pthread_t th)
+__pthread_cancel (pthread_t th)
 {
   volatile struct pthread *pd = (volatile struct pthread *) th;
 
@@ -66,7 +66,7 @@ pthread_cancel (pthread_t th)
 #ifdef SIGCANCEL
          /* The cancellation handler will take care of marking the
             thread as canceled.  */
-         pid_t pid = getpid ();
+         pid_t pid = __getpid ();
 
          INTERNAL_SYSCALL_DECL (err);
          int val = INTERNAL_SYSCALL_CALL (tgkill, err, pid, pd->tid,
@@ -99,5 +99,6 @@ pthread_cancel (pthread_t th)
 
   return result;
 }
+weak_alias (__pthread_cancel, pthread_cancel)
 
-PTHREAD_STATIC_FN_REQUIRE (pthread_create)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_create)
index c7d1b8f41346b6722ab7b8489f2696c92127513e..7a970ffc5bc6123bbad7d2e38e974ffd2bf859f9 100644 (file)
@@ -920,14 +920,14 @@ compat_symbol (libpthread, __pthread_create_2_0, pthread_create,
 \f
 /* If pthread_create is present, libgcc_eh.a and libsupc++.a expects some other POSIX thread
    functions to be present as well.  */
-PTHREAD_STATIC_FN_REQUIRE (pthread_mutex_lock)
-PTHREAD_STATIC_FN_REQUIRE (pthread_mutex_trylock)
-PTHREAD_STATIC_FN_REQUIRE (pthread_mutex_unlock)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_mutex_lock)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_mutex_trylock)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_mutex_unlock)
 
-PTHREAD_STATIC_FN_REQUIRE (pthread_once)
-PTHREAD_STATIC_FN_REQUIRE (pthread_cancel)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_once)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_cancel)
 
-PTHREAD_STATIC_FN_REQUIRE (pthread_key_create)
-PTHREAD_STATIC_FN_REQUIRE (pthread_key_delete)
-PTHREAD_STATIC_FN_REQUIRE (pthread_setspecific)
-PTHREAD_STATIC_FN_REQUIRE (pthread_getspecific)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_key_create)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_key_delete)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_setspecific)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_getspecific)
index 8a2e943523c9a9e579bdb8ba50bb55b30096b9dd..5c4c8f7065ec85115547d4f0e6bfc622928d3727 100644 (file)
@@ -22,7 +22,7 @@
 
 
 int
-pthread_detach (pthread_t th)
+__pthread_detach (pthread_t th)
 {
   struct pthread *pd = (struct pthread *) th;
 
@@ -53,3 +53,4 @@ pthread_detach (pthread_t th)
 
   return result;
 }
+weak_alias (__pthread_detach, pthread_detach)
index e304add047acec72a950730212d244fea2be6ae8..b5244eef9fb548b9eb28ec228a1da74914fcb5a8 100644 (file)
@@ -24,4 +24,4 @@ __pthread_equal (pthread_t thread1, pthread_t thread2)
 {
   return thread1 == thread2;
 }
-strong_alias (__pthread_equal, pthread_equal)
+weak_alias (__pthread_equal, pthread_equal)
index dffab0961a1125941dc4945417631f0485146de7..72097694b383e80828f84cb253a4890351c2c8ca 100644 (file)
@@ -27,8 +27,8 @@ __pthread_exit (void *value)
 
   __do_cancel ();
 }
-strong_alias (__pthread_exit, pthread_exit)
+weak_alias (__pthread_exit, pthread_exit)
 
 /* After a thread terminates, __libc_start_main decrements
    __nptl_nthreads defined in pthread_create.c.  */
-PTHREAD_STATIC_FN_REQUIRE (pthread_create)
+PTHREAD_STATIC_FN_REQUIRE (__pthread_create)
index ddedcf2a76fe07686e7a8556d480647671885608..114d6da29b6175fdc02d6f10d6a78c3d127dbd8b 100644 (file)
@@ -63,5 +63,5 @@ __pthread_getspecific (pthread_key_t key)
 
   return result;
 }
-strong_alias (__pthread_getspecific, pthread_getspecific)
+weak_alias (__pthread_getspecific, pthread_getspecific)
 hidden_def (__pthread_getspecific)
index 0192f69a55010703cc95e3f9530719fbafc7d8f8..afc8c379cad3f537da4e57606585a2826270dd55 100644 (file)
@@ -37,7 +37,7 @@ cleanup (void *arg)
 
 
 int
-pthread_join (pthread_t threadid, void **thread_return)
+__pthread_join (pthread_t threadid, void **thread_return)
 {
   struct pthread *pd = (struct pthread *) threadid;
 
@@ -115,3 +115,4 @@ pthread_join (pthread_t threadid, void **thread_return)
 
   return result;
 }
+weak_alias (__pthread_join, pthread_join)
index 4f51c767679d8c935766ac3c4ae5a436c6626098..70c0e1228341021145611c07d90e0efb68f8c2df 100644 (file)
@@ -47,5 +47,5 @@ __pthread_key_create (pthread_key_t *key, void (*destr) (void *))
 
   return EAGAIN;
 }
-strong_alias (__pthread_key_create, pthread_key_create)
+weak_alias (__pthread_key_create, pthread_key_create)
 hidden_def (__pthread_key_create)
index 605f93b871fc422dc9844b8f056e8d0e3a242ceb..426163dac6ae43ea952bccc5beb5a845da1896fe 100644 (file)
@@ -22,7 +22,7 @@
 
 
 int
-pthread_key_delete (pthread_key_t key)
+__pthread_key_delete (pthread_key_t key)
 {
   int result = EINVAL;
 
@@ -39,3 +39,4 @@ pthread_key_delete (pthread_key_t key)
 
   return result;
 }
+weak_alias (__pthread_key_delete, pthread_key_delete)
index a3008321bd0f346e96a5867a3237be2943c98190..ed3b63f7eb2bbed68be936e1e308ed269d0eef63 100644 (file)
@@ -36,5 +36,5 @@ __pthread_mutex_destroy (pthread_mutex_t *mutex)
 
   return 0;
 }
-strong_alias (__pthread_mutex_destroy, pthread_mutex_destroy)
+weak_alias (__pthread_mutex_destroy, pthread_mutex_destroy)
 hidden_def (__pthread_mutex_destroy)
index 138e1441555e2c84722dbc6b0c909f54419217a2..6f2fc808ff1b140af98b197bf241eb3ec8866b2a 100644 (file)
@@ -144,5 +144,5 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
 
   return 0;
 }
-strong_alias (__pthread_mutex_init, pthread_mutex_init)
+weak_alias (__pthread_mutex_init, pthread_mutex_init)
 hidden_def (__pthread_mutex_init)
index dc9ca4c4764be2654141493330bd8a91a989f601..b76475bc63acf0d8b618ab2b410137211968ff7a 100644 (file)
@@ -597,7 +597,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
   return 0;
 }
 #ifndef __pthread_mutex_lock
-strong_alias (__pthread_mutex_lock, pthread_mutex_lock)
+weak_alias (__pthread_mutex_lock, pthread_mutex_lock)
 hidden_def (__pthread_mutex_lock)
 #endif
 
index a4beb7b0dca312b627d5725e758a8d07b8232973..be5338178ffdefc11db24738e36be50372523abd 100644 (file)
@@ -41,8 +41,8 @@
 #endif
 
 int
-pthread_mutex_timedlock (pthread_mutex_t *mutex,
-                        const struct timespec *abstime)
+__pthread_mutex_timedlock (pthread_mutex_t *mutex,
+                          const struct timespec *abstime)
 {
   int oldval;
   pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
@@ -634,3 +634,4 @@ pthread_mutex_timedlock (pthread_mutex_t *mutex,
  out:
   return result;
 }
+weak_alias (__pthread_mutex_timedlock, pthread_mutex_timedlock)
index e514997be8fbdc2f89be0205cea369ce27c42a8f..ec7da61c736df8c6f54c6bd4c2601fc5fb4b3080 100644 (file)
@@ -403,6 +403,7 @@ __pthread_mutex_trylock (pthread_mutex_t *mutex)
 
 #ifndef __pthread_mutex_trylock
 #ifndef pthread_mutex_trylock
-strong_alias (__pthread_mutex_trylock, pthread_mutex_trylock)
+weak_alias (__pthread_mutex_trylock, pthread_mutex_trylock)
+hidden_def (__pthread_mutex_trylock)
 #endif
 #endif
index f701d4e274244f45a4ba8d7cff05dc871ebf8309..e1a8a5c617717d072270beb2c5c839f940f83795 100644 (file)
@@ -346,5 +346,5 @@ __pthread_mutex_unlock (pthread_mutex_t *mutex)
 {
   return __pthread_mutex_unlock_usercnt (mutex, 1);
 }
-strong_alias (__pthread_mutex_unlock, pthread_mutex_unlock)
+weak_alias (__pthread_mutex_unlock, pthread_mutex_unlock)
 hidden_def (__pthread_mutex_unlock)
index 210d490c44ae06baed1a79281ecdfce7a6d5ca7d..dcad522ae8a54f602a47d13e0252faa5ad9181a2 100644 (file)
@@ -33,4 +33,5 @@ __pthread_mutexattr_init (pthread_mutexattr_t *attr)
 
   return 0;
 }
-strong_alias (__pthread_mutexattr_init, pthread_mutexattr_init)
+weak_alias (__pthread_mutexattr_init, pthread_mutexattr_init)
+hidden_def (__pthread_mutexattr_init)
index 8c4d11f9984d1032bd3601aa2a930c162a663b82..988793bbbfd56b310af7e85506a126f47239d0bf 100644 (file)
@@ -40,4 +40,5 @@ __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind)
   return 0;
 }
 weak_alias (__pthread_mutexattr_settype, pthread_mutexattr_setkind_np)
-strong_alias (__pthread_mutexattr_settype, pthread_mutexattr_settype)
+weak_alias (__pthread_mutexattr_settype, pthread_mutexattr_settype)
+hidden_def (__pthread_mutexattr_settype)
index 4c978e1cfa8e416720e1eef937b88fa2455eb2e6..8e21775e31b57dafad74b33d3e1f96e8f3262a2a 100644 (file)
@@ -25,4 +25,4 @@ __pthread_self (void)
 {
   return (pthread_t) THREAD_SELF;
 }
-strong_alias (__pthread_self, pthread_self)
+weak_alias (__pthread_self, pthread_self)
index c5416a5ae04adfea8031fd09305aece6375dc38b..214af3b661d243362b54dc3c85b5c08dd51c8da9 100644 (file)
@@ -89,5 +89,5 @@ __pthread_setspecific (pthread_key_t key, const void *value)
 
   return 0;
 }
-strong_alias (__pthread_setspecific, pthread_setspecific)
+weak_alias (__pthread_setspecific, pthread_setspecific)
 hidden_def (__pthread_setspecific)
index 57eb02608840d2ae085f8a5956b73744abb7fc63..7eb2b96b99e25e4e8884f5501610a5d56d420b26 100644 (file)
@@ -43,9 +43,9 @@ void
 __init_sched_fifo_prio (void)
 {
   atomic_store_relaxed (&__sched_fifo_max_prio,
-                       sched_get_priority_max (SCHED_FIFO));
+                       __sched_get_priority_max (SCHED_FIFO));
   atomic_store_relaxed (&__sched_fifo_min_prio,
-                       sched_get_priority_min (SCHED_FIFO));
+                       __sched_get_priority_min (SCHED_FIFO));
 }
 
 int
index 60a93caf9bf7af09f849c5274a5394c3475c33a3..dbda103e9f66187ffb0ebd2e73ed748504b5905d 100644 (file)
@@ -29,5 +29,5 @@ __nanosleep (const struct timespec *requested_time,
 }
 stub_warning (nanosleep)
 
-libc_hidden_def (__nanosleep)
+hidden_def (__nanosleep)
 weak_alias (__nanosleep, nanosleep)
index 03a5d3f4094ec6df0a6b60c442ba1a3152f60454..a132482c074cef894c4eec27d405496b937fb3fc 100644 (file)
@@ -29,7 +29,7 @@ __gethostname (char *name, size_t len)
   struct utsname buf;
   size_t node_len;
 
-  if (uname (&buf))
+  if (__uname (&buf))
     return -1;
 
   node_len = strlen (buf.nodename) + 1;
index f3544acb75d23c885bd751f57aeff753272ad9c4..b59ace48dadb8aa34f288a7cedae3bedfdc934ac 100644 (file)
@@ -46,6 +46,6 @@ libc {
     fallocate64;
   }
   GLIBC_PRIVATE {
-    __modify_ldt;
+    __modify_ldt; __uname;
   }
 }
index 7d1a7f201bc72067e0219c3ae83b1b2a9e49cdc9..3109ea9937e184792516902e89941933b5d8f220 100644 (file)
@@ -36,7 +36,7 @@ is_smp_system (void)
   char *cp;
 
   /* Try reading the number using `sysctl' first.  */
-  if (uname (&u.uts) == 0)
+  if (__uname (&u.uts) == 0)
     cp = u.uts.version;
   else
     {
index b1f229f19c0a976e1e8b7f1028a22efc005785a8..98c2f88eb8b09c3b4d39d99b4f6f1e29db4404f2 100644 (file)
@@ -47,5 +47,6 @@ __mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset)
 #endif
 }
 weak_alias (__mmap, mmap)
+libc_hidden_def (__mmap)
 
 #endif /* __OFF_T_MATCHES_OFF64_T  */
index d3ea279afed07de04a60f079661dfaf76fb00e1d..e8d519b17a80bd0e58e5539f61c7cb57778f0a07 100644 (file)
@@ -53,8 +53,10 @@ __mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t offset)
 #endif
 }
 weak_alias (__mmap64, mmap64)
+libc_hidden_def (__mmap64)
 
 #ifdef __OFF_T_MATCHES_OFF64_T
 weak_alias (__mmap64, mmap)
 weak_alias (__mmap64, __mmap)
+libc_hidden_def (__mmap)
 #endif
index b352f84344fee2698498ea79c12cd40a8a3e42b4..2d15328e40149c5754e127f0e40b41c1e6c134d1 100644 (file)
@@ -26,5 +26,5 @@ __nanosleep (const struct timespec *requested_time,
 {
   return SYSCALL_CANCEL (nanosleep, requested_time, remaining);
 }
-libc_hidden_def (__nanosleep)
+hidden_def (__nanosleep)
 weak_alias (__nanosleep, nanosleep)
index e2e3d3357f9f5ee9ffe5e9f0588ebae9976c0dfd..1437d1dccc71cfcac48366d773c59f143bce8daf 100644 (file)
@@ -41,15 +41,15 @@ __ioctl (int fd, unsigned long int request, ...)
       break;
 
     case TCSETS:
-      result = tcsetattr (fd, TCSANOW, (struct termios *) arg);
+      result = __tcsetattr (fd, TCSANOW, (struct termios *) arg);
       break;
 
     case TCSETSW:
-      result = tcsetattr (fd, TCSADRAIN, (struct termios *) arg);
+      result = __tcsetattr (fd, TCSADRAIN, (struct termios *) arg);
       break;
 
     case TCSETSF:
-      result = tcsetattr (fd, TCSAFLUSH, (struct termios *) arg);
+      result = __tcsetattr (fd, TCSAFLUSH, (struct termios *) arg);
       break;
 
     default:
index c7d1d6539e45bb832e4a98bfd5724c82613010b5..49acd16ad241f6d2bdfa8cbc9dc02680edc5e197 100644 (file)
@@ -41,7 +41,7 @@
 
 /* Set the state of FD to *TERMIOS_P.  */
 int
-tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
+__tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
 {
   struct __kernel_termios k_termios;
   unsigned long int cmd;
@@ -77,4 +77,5 @@ tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
 
   return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
 }
+weak_alias (__tcsetattr, tcsetattr)
 libc_hidden_def (tcsetattr)