Name space hygeine for madvise.
authorRoland McGrath <roland@hack.frob.com>
Thu, 4 Oct 2012 23:31:43 +0000 (16:31 -0700)
committerRoland McGrath <roland@hack.frob.com>
Thu, 4 Oct 2012 23:31:43 +0000 (16:31 -0700)
ChangeLog
include/sys/mman.h
malloc/arena.c
malloc/malloc.c
misc/Versions
misc/madvise.c
nptl/ChangeLog
nptl/pthread_create.c
sysdeps/mach/hurd/malloc-machine.h
sysdeps/unix/syscalls.list
sysdeps/unix/sysv/linux/syscalls.list

index c0726ea..e24bcfe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2012-10-04  Roland McGrath  <roland@hack.frob.com>
+
+       * misc/Versions (GLIBC_PRIVATE): New set, add __madvise.
+       * misc/madvise.c (madvise): Renamed to __madvise.
+       Make madvise a weak alias.
+       * include/sys/mman.h: Declare __madvise.
+       Replace libc_hidden_proto (madvise) with libc_hidden_proto (__madvise).
+       * sysdeps/unix/syscalls.list
+       (madvise): Make __madvise the strong name, and madvise a weak alias.
+       * sysdeps/unix/sysv/linux/syscalls.list
+       (madvise, mmap): Remove redundant entries.
+       * malloc/arena.c (shrink_heap): Use __madvise, not madvise.
+       * malloc/malloc.c (mtrim): Likewise.
+       * sysdeps/mach/hurd/malloc-machine.h (madvise): Renamed to __madvise.
+
 2012-10-03  Roland McGrath  <roland@hack.frob.com>
 
        * sysdeps/mach/hurd/dl-cache.c: File removed.
index 0a0e4a6..fd125ec 100644 (file)
@@ -10,11 +10,12 @@ extern void *__mmap64 (void *__addr, size_t __len, int __prot,
 extern int __munmap (void *__addr, size_t __len);
 extern int __mprotect (void *__addr, size_t __len, int __prot);
 
+extern int __madvise (void *__addr, size_t __len, int __advice);
+libc_hidden_proto (__madvise)
+
 /* This one is Linux specific.  */
 extern void *__mremap (void *__addr, size_t __old_len,
                       size_t __new_len, int __flags, ...);
-
-libc_hidden_proto (madvise);
 #endif
 
 #endif
index b209e3b..eb9180e 100644 (file)
@@ -634,7 +634,7 @@ shrink_heap(heap_info *h, long diff)
       h->mprotect_size = new_size;
     }
   else
-    madvise ((char *)h + new_size, diff, MADV_DONTNEED);
+    __madvise ((char *)h + new_size, diff, MADV_DONTNEED);
   /*fprintf(stderr, "shrink %p %08lx\n", h, new_size);*/
 
   h->size = new_size;
index 892bc64..3f0b6b1 100644 (file)
@@ -4450,7 +4450,7 @@ static int mtrim(mstate av, size_t pad)
                       content.  */
                    memset (paligned_mem, 0x89, size & ~psm1);
 #endif
-                   madvise (paligned_mem, size & ~psm1, MADV_DONTNEED);
+                   __madvise (paligned_mem, size & ~psm1, MADV_DONTNEED);
 
                    result = 1;
                  }
index 7f525ea..b2a9147 100644 (file)
@@ -149,4 +149,7 @@ libc {
   GLIBC_2.16 {
     __getauxval; getauxval;
   }
+  GLIBC_PRIVATE {
+    __madvise;
+  }
 }
index 8f1c873..4e9681a 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1994,1995,1996,1997,2000,2007 Free Software Foundation, Inc.
+/* Advise system about intentions for a memory region.  Stub version.
+   Copyright (C) 1994-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
    for the region starting at ADDR and extending LEN bytes.  */
 
 int
-madvise (__ptr_t addr, size_t len, int advice)
+__madvise (void *addr, size_t len, int advice)
 {
   __set_errno (ENOSYS);
   return -1;
 }
-libc_hidden_def (madvise)
+libc_hidden_def (__madvise)
+weak_alias (__madvise, madvise)
+
 stub_warning (madvise)
 #include <stub-tag.h>
index afcf491..586e282 100644 (file)
@@ -1,3 +1,7 @@
+2012-10-04  Roland McGrath  <roland@hack.frob.com>
+
+       * pthread_create.c (start_thread): Use __madvise, not madvise.
+
 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
 
        * sysdeps/i386/tls.h: Update copyright years.
index 6ba9c6f..197dfa7 100644 (file)
@@ -399,7 +399,7 @@ start_thread (void *arg)
 #endif
   assert (freesize < pd->stackblock_size);
   if (freesize > PTHREAD_STACK_MIN)
-    madvise (pd->stackblock, freesize - PTHREAD_STACK_MIN, MADV_DONTNEED);
+    __madvise (pd->stackblock, freesize - PTHREAD_STACK_MIN, MADV_DONTNEED);
 
   /* If the thread is detached free the TCB.  */
   if (IS_DETACHED (pd))
index 4a8bd16..16e054f 100644 (file)
@@ -66,8 +66,9 @@ __libc_tsd_define (static, void *, MALLOC)    /* declaration/common definition */
 
 #include <sys/mman.h>
 
-#undef madvise
-#define madvise(addr, len, advice)     ((void) (addr), (void) (len), (void) (advice))
+#undef __madvise
+#define __madvise(addr, len, advice)   \
+  ((void) (addr), (void) (len), (void) (advice))
 
 #include <sysdeps/generic/malloc-machine.h>
 
index b38b03e..4620582 100644 (file)
@@ -41,7 +41,7 @@ kill          -       kill            i:ii    __kill          kill
 link           -       link            i:ss    __link          link
 listen         -       listen          i:ii    __listen        listen
 lseek          -       lseek           i:iii   __libc_lseek    __lseek lseek
-madvise                -       madvise         i:pii   madvise
+madvise                -       madvise         i:pii   __madvise       madvise
 mkdir          -       mkdir           i:si    __mkdir         mkdir
 mmap           -       mmap            b:aniiii __mmap         mmap
 mprotect       -       mprotect        i:aii   __mprotect      mprotect
index 6343272..2e6cf9c 100644 (file)
@@ -36,11 +36,9 @@ ioperm               -       ioperm          i:iii   ioperm
 iopl           -       iopl            i:i     iopl
 klogctl                EXTRA   syslog          i:isi   klogctl
 lchown         -       lchown          i:sii   __lchown        lchown
-madvise                -       madvise         i:pii   madvise
 mincore                -       mincore         i:anV   mincore
 mlock          -       mlock           i:bn    mlock
 mlockall       -       mlockall        i:i     mlockall
-mmap           -       mmap            b:aniiii        __mmap          mmap
 mount          EXTRA   mount           i:sssip __mount mount
 mremap         EXTRA   mremap          b:ainip __mremap        mremap
 munlock                -       munlock         i:ai    munlock