]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Move malloc_{g,s}et_state to libc_malloc_debug
authorSiddhesh Poyarekar <siddhesh@sourceware.org>
Thu, 22 Jul 2021 13:08:10 +0000 (18:38 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Thu, 22 Jul 2021 13:08:10 +0000 (18:38 +0530)
These deprecated functions are only safe to call from
__malloc_initialize_hook and as a result, are not useful in the
general case.  Move the implementations to libc_malloc_debug so that
existing binaries that need it will now have to preload the debug DSO
to work correctly.

This also allows simplification of the core malloc implementation by
dropping all the undumping support code that was added to make
malloc_set_state work.

One known breakage is that of ancient emacs binaries that depend on
this.  They will now crash when running with this libc.  With
LD_BIND_NOW=1, it will terminate immediately because of not being able
to find malloc_set_state but with lazy binding it will crash in
unpredictable ways.  It will need a preloaded libc_malloc_debug.so so
that its initialization hook is executed to allow its malloc
implementation to work properly.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
64 files changed:
NEWS
malloc/Makefile
malloc/Versions
malloc/hooks.c
malloc/malloc-debug.c
malloc/malloc.c
sysdeps/mach/hurd/i386/libc.abilist
sysdeps/mach/hurd/i386/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/aarch64/libc.abilist
sysdeps/unix/sysv/linux/aarch64/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/alpha/libc.abilist
sysdeps/unix/sysv/linux/alpha/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/arm/be/libc.abilist
sysdeps/unix/sysv/linux/arm/be/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/arm/le/libc.abilist
sysdeps/unix/sysv/linux/arm/le/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/hppa/libc.abilist
sysdeps/unix/sysv/linux/hppa/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/i386/libc.abilist
sysdeps/unix/sysv/linux/i386/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/ia64/libc.abilist
sysdeps/unix/sysv/linux/ia64/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
sysdeps/unix/sysv/linux/microblaze/be/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
sysdeps/unix/sysv/linux/microblaze/le/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/fpu/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n64/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/nios2/libc.abilist
sysdeps/unix/sysv/linux/nios2/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-64/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/sh/be/libc.abilist
sysdeps/unix/sysv/linux/sh/be/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/sh/le/libc.abilist
sysdeps/unix/sysv/linux/sh/le/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
sysdeps/unix/sysv/linux/x86_64/64/libc_malloc_debug.abilist
sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
sysdeps/unix/sysv/linux/x86_64/x32/libc_malloc_debug.abilist

diff --git a/NEWS b/NEWS
index fa80c9685b0f0503732b696d070a11b9ea2054ef..e26a9e2c170287ef4515b6d103556c8a438255e2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -138,6 +138,11 @@ Deprecated and removed features, and other changes affecting compatibility:
   features now need to preload a new debugging DSO libc_malloc_debug.so to get
   this functionality back.
 
+* The deprecated functions malloc_get_state and malloc_set_state have been
+  moved from the core C library into libc_malloc_debug.so.  Legacy applications
+  that still use these functions will now need to preload libc_malloc_debug.so
+  in their environment using the LD_PRELOAD environment variable.
+
 Changes to build and runtime requirements:
 
 * On Linux, the shm_open, sem_open, and related functions now expect the
index b89af21d19bd289095628cf0bd9c6cfb9038ea7b..96328da247426dfd2d33f599090d140e7994c6a2 100644 (file)
@@ -331,3 +331,8 @@ tst-compathooks-on-malloc-check-ENV = \
        LD_PRELOAD=$(objpfx)libc_malloc_debug.so
 tst-mallocstate-ENV = LD_PRELOAD=$(objpfx)libc_malloc_debug.so
 tst-mallocstate-malloc-check-ENV = LD_PRELOAD=$(objpfx)libc_malloc_debug.so
+
+# The test needs malloc_get_state/malloc_set_state which is in
+# libc_malloc_debug.so.
+$(objpfx)tst-mallocstate: $(objpfx)libc_malloc_debug.so
+$(objpfx)tst-mallocstate-malloc-check: $(objpfx)libc_malloc_debug.so
index cbb73d18c110c6807c03af191b01da881748d7f3..0a0bcf4bb520735ef0070a8730e6abec199f53a8 100644 (file)
@@ -25,7 +25,7 @@ libc {
     free;
 
     # m*
-    mallinfo; malloc; malloc_get_state; malloc_set_state; malloc_stats;
+    mallinfo; malloc; malloc_stats;
     malloc_trim; malloc_usable_size; mallopt; mcheck; memalign; mprobe; mtrace;
     muntrace;
 
@@ -121,6 +121,8 @@ libc_malloc_debug {
     muntrace;
 
     mallinfo;
+    malloc_get_state;
+    malloc_set_state;
     malloc_stats;
     malloc_trim;
     malloc_usable_size;
index 6c212fbc217fecf4f9dfc1de73b74942e3e2aba5..8e1afe55e5b539747d8dfd91020ed875ec76dec8 100644 (file)
@@ -39,120 +39,6 @@ void *weak_variable (*__malloc_hook) (size_t, const void *) = NULL;
 void *weak_variable (*__realloc_hook) (void *, size_t, const void *) = NULL;
 void *weak_variable (*__memalign_hook) (size_t, size_t, const void *) = NULL;
 
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_25)
-
-/* Support for restoring dumped heaps contained in historic Emacs
-   executables.  The heap saving feature (malloc_get_state) is no
-   longer implemented in this version of glibc, but we have a heap
-   rewriter in malloc_set_state which transforms the heap into a
-   version compatible with current malloc.  */
-
-#define MALLOC_STATE_MAGIC   0x444c4541l
-#define MALLOC_STATE_VERSION (0 * 0x100l + 5l) /* major*0x100 + minor */
-
-struct malloc_save_state
-{
-  long magic;
-  long version;
-  mbinptr av[NBINS * 2 + 2];
-  char *sbrk_base;
-  int sbrked_mem_bytes;
-  unsigned long trim_threshold;
-  unsigned long top_pad;
-  unsigned int n_mmaps_max;
-  unsigned long mmap_threshold;
-  int check_action;
-  unsigned long max_sbrked_mem;
-  unsigned long max_total_mem; /* Always 0, for backwards compatibility.  */
-  unsigned int n_mmaps;
-  unsigned int max_n_mmaps;
-  unsigned long mmapped_mem;
-  unsigned long max_mmapped_mem;
-  int using_malloc_checking;
-  unsigned long max_fast;
-  unsigned long arena_test;
-  unsigned long arena_max;
-  unsigned long narenas;
-};
-
-/* Dummy implementation which always fails.  We need to provide this
-   symbol so that existing Emacs binaries continue to work with
-   BIND_NOW.  */
-void *
-attribute_compat_text_section
-malloc_get_state (void)
-{
-  __set_errno (ENOSYS);
-  return NULL;
-}
-compat_symbol (libc, malloc_get_state, malloc_get_state, GLIBC_2_0);
-
-int
-attribute_compat_text_section
-malloc_set_state (void *msptr)
-{
-  struct malloc_save_state *ms = (struct malloc_save_state *) msptr;
-
-  if (ms->magic != MALLOC_STATE_MAGIC)
-    return -1;
-
-  /* Must fail if the major version is too high. */
-  if ((ms->version & ~0xffl) > (MALLOC_STATE_VERSION & ~0xffl))
-    return -2;
-
-  /* We do not need to perform locking here because malloc_set_state
-     must be called before the first call into the malloc subsytem
-     (usually via __malloc_initialize_hook).  pthread_create always
-     calls calloc and thus must be called only afterwards, so there
-     cannot be more than one thread when we reach this point.  */
-
-  /* Patch the dumped heap.  We no longer try to integrate into the
-     existing heap.  Instead, we mark the existing chunks as mmapped.
-     Together with the update to dumped_main_arena_start and
-     dumped_main_arena_end, realloc and free will recognize these
-     chunks as dumped fake mmapped chunks and never free them.  */
-
-  /* Find the chunk with the lowest address with the heap.  */
-  mchunkptr chunk = NULL;
-  {
-    size_t *candidate = (size_t *) ms->sbrk_base;
-    size_t *end = (size_t *) (ms->sbrk_base + ms->sbrked_mem_bytes);
-    while (candidate < end)
-      if (*candidate != 0)
-       {
-         chunk = mem2chunk ((void *) (candidate + 1));
-         break;
-       }
-      else
-       ++candidate;
-  }
-  if (chunk == NULL)
-    return 0;
-
-  /* Iterate over the dumped heap and patch the chunks so that they
-     are treated as fake mmapped chunks.  */
-  mchunkptr top = ms->av[2];
-  while (chunk < top)
-    {
-      if (inuse (chunk))
-       {
-         /* Mark chunk as mmapped, to trigger the fallback path.  */
-         size_t size = chunksize (chunk);
-         set_head (chunk, size | IS_MMAPPED);
-       }
-      chunk = next_chunk (chunk);
-    }
-
-  /* The dumped fake mmapped chunks all lie in this address range.  */
-  dumped_main_arena_start = (mchunkptr) ms->sbrk_base;
-  dumped_main_arena_end = top;
-
-  return 0;
-}
-compat_symbol (libc, malloc_set_state, malloc_set_state, GLIBC_2_0);
-
-#endif /* SHLIB_COMPAT */
-
 /*
  * Local variables:
  * c-basic-offset: 2
index f5290aaa6d4a6e2cb3637408962f7a192b43ce4f..b7744460e9e39884d94221b83f2b30bd5317c3a5 100644 (file)
@@ -145,6 +145,19 @@ memalign_hook_ini (size_t alignment, size_t sz, const void *caller)
 
 static size_t pagesize;
 
+/* These variables are used for undumping support.  Chunked are marked
+   as using mmap, but we leave them alone if they fall into this
+   range.  NB: The chunk size for these chunks only includes the
+   initial size field (of SIZE_SZ bytes), there is no trailing size
+   field (unlike with regular mmapped chunks).  */
+static mchunkptr dumped_main_arena_start; /* Inclusive.  */
+static mchunkptr dumped_main_arena_end;   /* Exclusive.  */
+
+/* True if the pointer falls into the dumped arena.  Use this after
+   chunk_is_mmapped indicates a chunk is mmapped.  */
+#define DUMPED_MAIN_ARENA_CHUNK(p) \
+  ((p) >= dumped_main_arena_start && (p) < dumped_main_arena_end)
+
 /* The allocator functions.  */
 
 static void *
@@ -184,7 +197,9 @@ __debug_free (void *mem)
   if (__is_malloc_debug_enabled (MALLOC_MCHECK_HOOK))
     mem = free_mcheck (mem);
 
-  if (__is_malloc_debug_enabled (MALLOC_CHECK_HOOK))
+  if (DUMPED_MAIN_ARENA_CHUNK (mem2chunk (mem)))
+    /* Do nothing.  */;
+  else if (__is_malloc_debug_enabled (MALLOC_CHECK_HOOK))
     free_check (mem);
   else
     __libc_free (mem);
@@ -207,7 +222,32 @@ __debug_realloc (void *oldmem, size_t bytes)
   if ((!__is_malloc_debug_enabled (MALLOC_MCHECK_HOOK)
        || !realloc_mcheck_before (&oldmem, &bytes, &oldsize, &victim)))
     {
-      if (__is_malloc_debug_enabled (MALLOC_CHECK_HOOK))
+      mchunkptr oldp = mem2chunk (oldmem);
+
+      /* If this is a faked mmapped chunk from the dumped main arena,
+        always make a copy (and do not free the old chunk).  */
+      if (DUMPED_MAIN_ARENA_CHUNK (oldp))
+       {
+         if (bytes == 0 && oldmem != NULL)
+           victim = NULL;
+         else
+           {
+             const INTERNAL_SIZE_T osize = chunksize (oldp);
+             /* Must alloc, copy, free. */
+             victim = __debug_malloc (bytes);
+             /* Copy as many bytes as are available from the old chunk
+                and fit into the new size.  NB: The overhead for faked
+                mmapped chunks is only SIZE_SZ, not CHUNK_HDR_SZ as for
+                regular mmapped chunks.  */
+             if (victim != NULL)
+               {
+                 if (bytes > osize - SIZE_SZ)
+                   bytes = osize - SIZE_SZ;
+                 memcpy (victim, oldmem, bytes);
+               }
+           }
+       }
+      else if (__is_malloc_debug_enabled (MALLOC_CHECK_HOOK))
        victim =  realloc_check (oldmem, bytes);
       else
        victim = __libc_realloc (oldmem, bytes);
@@ -357,6 +397,13 @@ malloc_usable_size (void *mem)
   if (__is_malloc_debug_enabled (MALLOC_CHECK_HOOK))
     return malloc_check_get_size (mem);
 
+  if (mem != NULL)
+    {
+      mchunkptr p = mem2chunk (mem);
+     if (DUMPED_MAIN_ARENA_CHUNK (p))
+       return chunksize (p) - SIZE_SZ;
+    }
+
   return musable (mem);
 }
 
@@ -453,3 +500,134 @@ malloc_trim (size_t s)
 
   return LIBC_SYMBOL (malloc_trim) (s);
 }
+
+#if SHLIB_COMPAT (libc_malloc_debug, GLIBC_2_0, GLIBC_2_25)
+
+/* Support for restoring dumped heaps contained in historic Emacs
+   executables.  The heap saving feature (malloc_get_state) is no
+   longer implemented in this version of glibc, but we have a heap
+   rewriter in malloc_set_state which transforms the heap into a
+   version compatible with current malloc.  */
+
+#define MALLOC_STATE_MAGIC   0x444c4541l
+#define MALLOC_STATE_VERSION (0 * 0x100l + 5l) /* major*0x100 + minor */
+
+struct malloc_save_state
+{
+  long magic;
+  long version;
+  mbinptr av[NBINS * 2 + 2];
+  char *sbrk_base;
+  int sbrked_mem_bytes;
+  unsigned long trim_threshold;
+  unsigned long top_pad;
+  unsigned int n_mmaps_max;
+  unsigned long mmap_threshold;
+  int check_action;
+  unsigned long max_sbrked_mem;
+  unsigned long max_total_mem; /* Always 0, for backwards compatibility.  */
+  unsigned int n_mmaps;
+  unsigned int max_n_mmaps;
+  unsigned long mmapped_mem;
+  unsigned long max_mmapped_mem;
+  int using_malloc_checking;
+  unsigned long max_fast;
+  unsigned long arena_test;
+  unsigned long arena_max;
+  unsigned long narenas;
+};
+
+/* Dummy implementation which always fails.  We need to provide this
+   symbol so that existing Emacs binaries continue to work with
+   BIND_NOW.  */
+void *
+malloc_get_state (void)
+{
+  __set_errno (ENOSYS);
+  return NULL;
+}
+compat_symbol (libc_malloc_debug, malloc_get_state, malloc_get_state,
+              GLIBC_2_0);
+
+int
+malloc_set_state (void *msptr)
+{
+  struct malloc_save_state *ms = (struct malloc_save_state *) msptr;
+
+  if (ms->magic != MALLOC_STATE_MAGIC)
+    return -1;
+
+  /* Must fail if the major version is too high. */
+  if ((ms->version & ~0xffl) > (MALLOC_STATE_VERSION & ~0xffl))
+    return -2;
+
+  if (debug_initialized == 1)
+    return -1;
+
+  bool check_was_enabled = __is_malloc_debug_enabled (MALLOC_CHECK_HOOK);
+
+  /* It's not too late, so disable MALLOC_CHECK_ and all of the hooks.  */
+  __malloc_hook = NULL;
+  __realloc_hook = NULL;
+  __free_hook = NULL;
+  __memalign_hook = NULL;
+  __malloc_debug_disable (MALLOC_CHECK_HOOK);
+
+  /* We do not need to perform locking here because malloc_set_state
+     must be called before the first call into the malloc subsytem (usually via
+     __malloc_initialize_hook).  pthread_create always calls calloc and thus
+     must be called only afterwards, so there cannot be more than one thread
+     when we reach this point.  Also handle initialization if either we ended
+     up being called before the first malloc or through the hook when
+     malloc-check was enabled.  */
+  if (debug_initialized < 0)
+    generic_hook_ini ();
+  else if (check_was_enabled)
+    __libc_free (__libc_malloc (0));
+
+  /* Patch the dumped heap.  We no longer try to integrate into the
+     existing heap.  Instead, we mark the existing chunks as mmapped.
+     Together with the update to dumped_main_arena_start and
+     dumped_main_arena_end, realloc and free will recognize these
+     chunks as dumped fake mmapped chunks and never free them.  */
+
+  /* Find the chunk with the lowest address with the heap.  */
+  mchunkptr chunk = NULL;
+  {
+    size_t *candidate = (size_t *) ms->sbrk_base;
+    size_t *end = (size_t *) (ms->sbrk_base + ms->sbrked_mem_bytes);
+    while (candidate < end)
+      if (*candidate != 0)
+       {
+         chunk = mem2chunk ((void *) (candidate + 1));
+         break;
+       }
+      else
+       ++candidate;
+  }
+  if (chunk == NULL)
+    return 0;
+
+  /* Iterate over the dumped heap and patch the chunks so that they
+     are treated as fake mmapped chunks.  */
+  mchunkptr top = ms->av[2];
+  while (chunk < top)
+    {
+      if (inuse (chunk))
+       {
+         /* Mark chunk as mmapped, to trigger the fallback path.  */
+         size_t size = chunksize (chunk);
+         set_head (chunk, size | IS_MMAPPED);
+       }
+      chunk = next_chunk (chunk);
+    }
+
+  /* The dumped fake mmapped chunks all lie in this address range.  */
+  dumped_main_arena_start = (mchunkptr) ms->sbrk_base;
+  dumped_main_arena_end = top;
+
+  return 0;
+}
+compat_symbol (libc_malloc_debug, malloc_set_state, malloc_set_state,
+              GLIBC_2_0);
+#endif
index b8fcb2f2d323863142ab568a17a9c6e6491f10c4..38b649fcbaf19adb3d8fcae2cdc7c729f7d77264 100644 (file)
@@ -1921,19 +1921,6 @@ static struct malloc_state main_arena =
   .attached_threads = 1
 };
 
-/* These variables are used for undumping support.  Chunked are marked
-   as using mmap, but we leave them alone if they fall into this
-   range.  NB: The chunk size for these chunks only includes the
-   initial size field (of SIZE_SZ bytes), there is no trailing size
-   field (unlike with regular mmapped chunks).  */
-static mchunkptr dumped_main_arena_start; /* Inclusive.  */
-static mchunkptr dumped_main_arena_end;   /* Exclusive.  */
-
-/* True if the pointer falls into the dumped arena.  Use this after
-   chunk_is_mmapped indicates a chunk is mmapped.  */
-#define DUMPED_MAIN_ARENA_CHUNK(p) \
-  ((p) >= dumped_main_arena_start && (p) < dumped_main_arena_end)
-
 /* There is only one instance of the malloc parameters.  */
 
 static struct malloc_par mp_ =
@@ -2083,7 +2070,7 @@ do_check_chunk (mstate av, mchunkptr p)
           assert (prev_inuse (p));
         }
     }
-  else if (!DUMPED_MAIN_ARENA_CHUNK (p))
+  else
     {
       /* address is outside main heap  */
       if (contiguous (av) && av->top != initial_top (av))
@@ -2948,11 +2935,6 @@ munmap_chunk (mchunkptr p)
 
   assert (chunk_is_mmapped (p));
 
-  /* Do nothing if the chunk is a faked mmapped chunk in the dumped
-     main arena.  We never free this memory.  */
-  if (DUMPED_MAIN_ARENA_CHUNK (p))
-    return;
-
   uintptr_t mem = (uintptr_t) chunk2mem (p);
   uintptr_t block = (uintptr_t) p - prev_size (p);
   size_t total_size = prev_size (p) + size;
@@ -3275,8 +3257,7 @@ __libc_free (void *mem)
         Dumped fake mmapped chunks do not affect the threshold.  */
       if (!mp_.no_dyn_threshold
           && chunksize_nomask (p) > mp_.mmap_threshold
-          && chunksize_nomask (p) <= DEFAULT_MMAP_THRESHOLD_MAX
-         && !DUMPED_MAIN_ARENA_CHUNK (p))
+          && chunksize_nomask (p) <= DEFAULT_MMAP_THRESHOLD_MAX)
         {
           mp_.mmap_threshold = chunksize (p);
           mp_.trim_threshold = 2 * mp_.mmap_threshold;
@@ -3343,12 +3324,9 @@ __libc_realloc (void *oldmem, size_t bytes)
   /* Little security check which won't hurt performance: the allocator
      never wrapps around at the end of the address space.  Therefore
      we can exclude some size values which might appear here by
-     accident or by "design" from some intruder.  We need to bypass
-     this check for dumped fake mmap chunks from the old main arena
-     because the new malloc may provide additional alignment.  */
+     accident or by "design" from some intruder.  */
   if ((__builtin_expect ((uintptr_t) oldp > (uintptr_t) -oldsize, 0)
-       || __builtin_expect (misaligned_chunk (oldp), 0))
-      && !DUMPED_MAIN_ARENA_CHUNK (oldp))
+       || __builtin_expect (misaligned_chunk (oldp), 0)))
       malloc_printerr ("realloc(): invalid pointer");
 
   if (!checked_request2size (bytes, &nb))
@@ -3359,24 +3337,6 @@ __libc_realloc (void *oldmem, size_t bytes)
 
   if (chunk_is_mmapped (oldp))
     {
-      /* If this is a faked mmapped chunk from the dumped main arena,
-        always make a copy (and do not free the old chunk).  */
-      if (DUMPED_MAIN_ARENA_CHUNK (oldp))
-       {
-         /* Must alloc, copy, free. */
-         void *newmem = __libc_malloc (bytes);
-         if (newmem == 0)
-           return NULL;
-         /* Copy as many bytes as are available from the old chunk
-            and fit into the new size.  NB: The overhead for faked
-            mmapped chunks is only SIZE_SZ, not CHUNK_HDR_SZ as for
-            regular mmapped chunks.  */
-         if (bytes > oldsize - SIZE_SZ)
-           bytes = oldsize - SIZE_SZ;
-         memcpy (newmem, oldmem, bytes);
-         return newmem;
-       }
-
       void *newmem;
 
 #if HAVE_MREMAP
@@ -5056,12 +5016,7 @@ musable (void *mem)
       p = mem2chunk (mem);
 
       if (chunk_is_mmapped (p))
-       {
-         if (DUMPED_MAIN_ARENA_CHUNK (p))
-           result = chunksize (p) - SIZE_SZ;
-         else
-           result = chunksize (p) - CHUNK_HDR_SZ;
-       }
+       result = chunksize (p) - CHUNK_HDR_SZ;
       else if (inuse (p))
        result = memsize (p);
 
index b337d0d45bba898208d5ffff4064c7ef56ca26a6..c5da10a0cd0140e4e218f60451ad49f897cb0a6d 100644 (file)
@@ -1267,8 +1267,6 @@ GLIBC_2.2.6 madvise F
 GLIBC_2.2.6 makecontext F
 GLIBC_2.2.6 mallinfo F
 GLIBC_2.2.6 malloc F
-GLIBC_2.2.6 malloc_get_state F
-GLIBC_2.2.6 malloc_set_state F
 GLIBC_2.2.6 malloc_stats F
 GLIBC_2.2.6 malloc_trim F
 GLIBC_2.2.6 malloc_usable_size F
index c1ff86dfbd505e759beb06bdb9adf5be7dd986ee..e1d9b10b22fae91f29ef15d918f830ca4bda1ec2 100644 (file)
@@ -8,6 +8,8 @@ GLIBC_2.2.6 calloc F
 GLIBC_2.2.6 free F
 GLIBC_2.2.6 mallinfo F
 GLIBC_2.2.6 malloc F
+GLIBC_2.2.6 malloc_get_state F
+GLIBC_2.2.6 malloc_set_state F
 GLIBC_2.2.6 malloc_stats F
 GLIBC_2.2.6 malloc_trim F
 GLIBC_2.2.6 malloc_usable_size F
index 8d49fc0835efdc5f26a76ec7340fc9fa34186837..21a2e50a884c3d64ba0ab19fae201de92b644dc3 100644 (file)
@@ -1324,9 +1324,7 @@ GLIBC_2.17 madvise F
 GLIBC_2.17 makecontext F
 GLIBC_2.17 mallinfo F
 GLIBC_2.17 malloc F
-GLIBC_2.17 malloc_get_state F
 GLIBC_2.17 malloc_info F
-GLIBC_2.17 malloc_set_state F
 GLIBC_2.17 malloc_stats F
 GLIBC_2.17 malloc_trim F
 GLIBC_2.17 malloc_usable_size F
index 65fb5036bd65f4d3ab5bd475e179550c51213ccc..c82c88dcf7232fa63d808ea03e93a041b7e6a7fe 100644 (file)
@@ -7,7 +7,9 @@ GLIBC_2.17 calloc F
 GLIBC_2.17 free F
 GLIBC_2.17 mallinfo F
 GLIBC_2.17 malloc F
+GLIBC_2.17 malloc_get_state F
 GLIBC_2.17 malloc_info F
+GLIBC_2.17 malloc_set_state F
 GLIBC_2.17 malloc_stats F
 GLIBC_2.17 malloc_trim F
 GLIBC_2.17 malloc_usable_size F
index db496e108fa2d75781e0abd9a9925143dd20449b..a201fd69bacc32811adf625378dafb96b5c0cd0f 100644 (file)
@@ -792,8 +792,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index bdf3541c2421ea91a8a5a5f9e869331ddf3e8229..15b3293b03eeb39d6b1174ccadaf5b45a32465b5 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index c3c96f24c44e75f122f48494434f0e33546e0f54..a542ad23ceb996bfb3e747bd0aa979f4cdc89eae 100644 (file)
@@ -1763,8 +1763,6 @@ GLIBC_2.4 madvise F
 GLIBC_2.4 makecontext F
 GLIBC_2.4 mallinfo F
 GLIBC_2.4 malloc F
-GLIBC_2.4 malloc_get_state F
-GLIBC_2.4 malloc_set_state F
 GLIBC_2.4 malloc_stats F
 GLIBC_2.4 malloc_trim F
 GLIBC_2.4 malloc_usable_size F
index 81be491d537cb8e8e6a57683121348139d6e2663..e5054691544683c938c4ba27383017f9ce57ae6d 100644 (file)
@@ -9,6 +9,8 @@ GLIBC_2.4 calloc F
 GLIBC_2.4 free F
 GLIBC_2.4 mallinfo F
 GLIBC_2.4 malloc F
+GLIBC_2.4 malloc_get_state F
+GLIBC_2.4 malloc_set_state F
 GLIBC_2.4 malloc_stats F
 GLIBC_2.4 malloc_trim F
 GLIBC_2.4 malloc_usable_size F
index 2786afa4067ece555254b1ac0c4b6cf05586f398..ea2291995bd02355adcca8210adc0eeff47f3684 100644 (file)
@@ -1760,8 +1760,6 @@ GLIBC_2.4 madvise F
 GLIBC_2.4 makecontext F
 GLIBC_2.4 mallinfo F
 GLIBC_2.4 malloc F
-GLIBC_2.4 malloc_get_state F
-GLIBC_2.4 malloc_set_state F
 GLIBC_2.4 malloc_stats F
 GLIBC_2.4 malloc_trim F
 GLIBC_2.4 malloc_usable_size F
index 81be491d537cb8e8e6a57683121348139d6e2663..e5054691544683c938c4ba27383017f9ce57ae6d 100644 (file)
@@ -9,6 +9,8 @@ GLIBC_2.4 calloc F
 GLIBC_2.4 free F
 GLIBC_2.4 mallinfo F
 GLIBC_2.4 malloc F
+GLIBC_2.4 malloc_get_state F
+GLIBC_2.4 malloc_set_state F
 GLIBC_2.4 malloc_stats F
 GLIBC_2.4 malloc_trim F
 GLIBC_2.4 malloc_usable_size F
index 47d376ff62bc0c73a0223a8e6b685a6b926ca5ff..91922bdc6561d8735aa874524c1c5f83a7627c21 100644 (file)
@@ -1181,8 +1181,6 @@ GLIBC_2.2 madvise F
 GLIBC_2.2 makecontext F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
-GLIBC_2.2 malloc_get_state F
-GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 22d0bf2d8a86cef582cd944e4f608062dfba7900..8798ca8653c8f2b8099c346276943e818a0157b8 100644 (file)
@@ -8,6 +8,8 @@ GLIBC_2.2 calloc F
 GLIBC_2.2 free F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
+GLIBC_2.2 malloc_get_state F
+GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index d6b038b6a32a971ec80c41172859d15b1d69cb83..9e4937c29b48f6a1ba02168fa64fea7bc0ecbba8 100644 (file)
@@ -774,8 +774,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6b3c5bfd0bf8352e60d70c0e8f42bae096809b72..55ef9528856159c91a8c705e844d44cd57bb46eb 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 5b78b61d4c006ccf8d4f541c98beefa0a337a185..dd3a56d3fef14600d07d8109a2203c4f59cd2c53 100644 (file)
@@ -1197,8 +1197,6 @@ GLIBC_2.2 madvise F
 GLIBC_2.2 makecontext F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
-GLIBC_2.2 malloc_get_state F
-GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 6d5574a760b7fa57bafab5007e9c1b540b568900..554567ab85ec6aed1b4c845ba3eca42a54265aa2 100644 (file)
@@ -8,6 +8,8 @@ GLIBC_2.2 calloc F
 GLIBC_2.2 free F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
+GLIBC_2.2 malloc_get_state F
+GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index ab9e0955ddfad9912d89a9e1fa15c3b0bf63329e..af2e09ddb85e6dc4c8f3e8ddced4c476d3acf39e 100644 (file)
@@ -1747,8 +1747,6 @@ GLIBC_2.4 madvise F
 GLIBC_2.4 makecontext F
 GLIBC_2.4 mallinfo F
 GLIBC_2.4 malloc F
-GLIBC_2.4 malloc_get_state F
-GLIBC_2.4 malloc_set_state F
 GLIBC_2.4 malloc_stats F
 GLIBC_2.4 malloc_trim F
 GLIBC_2.4 malloc_usable_size F
index 81be491d537cb8e8e6a57683121348139d6e2663..e5054691544683c938c4ba27383017f9ce57ae6d 100644 (file)
@@ -9,6 +9,8 @@ GLIBC_2.4 calloc F
 GLIBC_2.4 free F
 GLIBC_2.4 mallinfo F
 GLIBC_2.4 malloc F
+GLIBC_2.4 malloc_get_state F
+GLIBC_2.4 malloc_set_state F
 GLIBC_2.4 malloc_stats F
 GLIBC_2.4 malloc_trim F
 GLIBC_2.4 malloc_usable_size F
index 479d17be3573a7e2709c521bb7c239717faf3898..6f416dafd739d3b377ee2d81d190b284cb11d93d 100644 (file)
@@ -773,8 +773,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6b3c5bfd0bf8352e60d70c0e8f42bae096809b72..55ef9528856159c91a8c705e844d44cd57bb46eb 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 90302842f5b895137189f37c66d46765d9f0cf8c..3accefd9ee7fd6dcd821a43be507a293c0172e06 100644 (file)
@@ -1326,9 +1326,7 @@ GLIBC_2.18 madvise F
 GLIBC_2.18 makecontext F
 GLIBC_2.18 mallinfo F
 GLIBC_2.18 malloc F
-GLIBC_2.18 malloc_get_state F
 GLIBC_2.18 malloc_info F
-GLIBC_2.18 malloc_set_state F
 GLIBC_2.18 malloc_stats F
 GLIBC_2.18 malloc_trim F
 GLIBC_2.18 malloc_usable_size F
index daa80c4772d908c2a70eaa07ff77d62eddfe2b77..a082e71f9408d56c0a66506671b578b8ddaeb151 100644 (file)
@@ -7,7 +7,9 @@ GLIBC_2.18 calloc F
 GLIBC_2.18 free F
 GLIBC_2.18 mallinfo F
 GLIBC_2.18 malloc F
+GLIBC_2.18 malloc_get_state F
 GLIBC_2.18 malloc_info F
+GLIBC_2.18 malloc_set_state F
 GLIBC_2.18 malloc_stats F
 GLIBC_2.18 malloc_trim F
 GLIBC_2.18 malloc_usable_size F
index dcfd52ec31324b0bbd0392c49170649a6e51c049..d21f91770062f9df341c56a06c09cbedd7e12c24 100644 (file)
@@ -1326,9 +1326,7 @@ GLIBC_2.18 madvise F
 GLIBC_2.18 makecontext F
 GLIBC_2.18 mallinfo F
 GLIBC_2.18 malloc F
-GLIBC_2.18 malloc_get_state F
 GLIBC_2.18 malloc_info F
-GLIBC_2.18 malloc_set_state F
 GLIBC_2.18 malloc_stats F
 GLIBC_2.18 malloc_trim F
 GLIBC_2.18 malloc_usable_size F
index daa80c4772d908c2a70eaa07ff77d62eddfe2b77..a082e71f9408d56c0a66506671b578b8ddaeb151 100644 (file)
@@ -7,7 +7,9 @@ GLIBC_2.18 calloc F
 GLIBC_2.18 free F
 GLIBC_2.18 mallinfo F
 GLIBC_2.18 malloc F
+GLIBC_2.18 malloc_get_state F
 GLIBC_2.18 malloc_info F
+GLIBC_2.18 malloc_set_state F
 GLIBC_2.18 malloc_stats F
 GLIBC_2.18 malloc_trim F
 GLIBC_2.18 malloc_usable_size F
index c72c2a71011a534a630c2f09c111a8d36f98a939..2ff15825ecf06d50abcce1a31d69f8baf43a8a90 100644 (file)
@@ -771,8 +771,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6b3c5bfd0bf8352e60d70c0e8f42bae096809b72..55ef9528856159c91a8c705e844d44cd57bb46eb 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6725735b590c274a792b2c00efc3809897c62e94..b58f60783a862c72f1dd8cc14542d31b04fd95ca 100644 (file)
@@ -771,8 +771,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6b3c5bfd0bf8352e60d70c0e8f42bae096809b72..55ef9528856159c91a8c705e844d44cd57bb46eb 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 5c2e2286285c511e65e093a0bfd8214ef062a015..ae933424bf52c8827e86182b38a340a5afdfa294 100644 (file)
@@ -771,8 +771,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6b3c5bfd0bf8352e60d70c0e8f42bae096809b72..55ef9528856159c91a8c705e844d44cd57bb46eb 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 35372f6c1a090efa8eb1a055ba587c7052c3c4ae..c68f7e3c6cc8baa7e932743d2795f9da52017cbe 100644 (file)
@@ -769,8 +769,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index bdf3541c2421ea91a8a5a5f9e869331ddf3e8229..15b3293b03eeb39d6b1174ccadaf5b45a32465b5 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index e0ffbb56870758bb5e173fabfe3f0aceddbddc0a..91c103fcf0f25e7c2af19981d9437fad6a52cb01 100644 (file)
@@ -1369,9 +1369,7 @@ GLIBC_2.21 madvise F
 GLIBC_2.21 makecontext F
 GLIBC_2.21 mallinfo F
 GLIBC_2.21 malloc F
-GLIBC_2.21 malloc_get_state F
 GLIBC_2.21 malloc_info F
-GLIBC_2.21 malloc_set_state F
 GLIBC_2.21 malloc_stats F
 GLIBC_2.21 malloc_trim F
 GLIBC_2.21 malloc_usable_size F
index ce6c5f7631c80f7b8a0a93ffbc003a8551e1aa75..de9a79a6dd5fe5ecf3f24ec48446c42bb4cefe28 100644 (file)
@@ -7,7 +7,9 @@ GLIBC_2.21 calloc F
 GLIBC_2.21 free F
 GLIBC_2.21 mallinfo F
 GLIBC_2.21 malloc F
+GLIBC_2.21 malloc_get_state F
 GLIBC_2.21 malloc_info F
+GLIBC_2.21 malloc_set_state F
 GLIBC_2.21 malloc_stats F
 GLIBC_2.21 malloc_trim F
 GLIBC_2.21 malloc_usable_size F
index 105dda530013ff08900175e4f9c3c98a120d321e..7961a99f4a3257b7df2c29a06aaf241795d8398e 100644 (file)
@@ -782,8 +782,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6b3c5bfd0bf8352e60d70c0e8f42bae096809b72..55ef9528856159c91a8c705e844d44cd57bb46eb 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index b079847f842b70db7a105546e910ee187a0189c5..146e27aac60bf471bcff1424b12b03fcdc57667a 100644 (file)
@@ -782,8 +782,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6b3c5bfd0bf8352e60d70c0e8f42bae096809b72..55ef9528856159c91a8c705e844d44cd57bb46eb 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 0b7700cb84c92574a3a6cb7cecd2ca5aa1b14e17..cf864632d0cc34382a8a0d5fad69eef866b0b3ea 100644 (file)
@@ -1301,8 +1301,6 @@ GLIBC_2.3 madvise F
 GLIBC_2.3 makecontext F
 GLIBC_2.3 mallinfo F
 GLIBC_2.3 malloc F
-GLIBC_2.3 malloc_get_state F
-GLIBC_2.3 malloc_set_state F
 GLIBC_2.3 malloc_stats F
 GLIBC_2.3 malloc_trim F
 GLIBC_2.3 malloc_usable_size F
index 7f134f9b48e5e07bb1a1c7ffcb73865232eb87f8..9f54dfd562444609b0a59aae72958452f76b09df 100644 (file)
@@ -8,6 +8,8 @@ GLIBC_2.3 calloc F
 GLIBC_2.3 free F
 GLIBC_2.3 mallinfo F
 GLIBC_2.3 malloc F
+GLIBC_2.3 malloc_get_state F
+GLIBC_2.3 malloc_set_state F
 GLIBC_2.3 malloc_stats F
 GLIBC_2.3 malloc_trim F
 GLIBC_2.3 malloc_usable_size F
index 47e5a5aa79def5912797d213046ffdfc3694569c..d566d675d00c881b3c239320978e1594968faedf 100644 (file)
@@ -1412,9 +1412,7 @@ GLIBC_2.17 madvise F
 GLIBC_2.17 makecontext F
 GLIBC_2.17 mallinfo F
 GLIBC_2.17 malloc F
-GLIBC_2.17 malloc_get_state F
 GLIBC_2.17 malloc_info F
-GLIBC_2.17 malloc_set_state F
 GLIBC_2.17 malloc_stats F
 GLIBC_2.17 malloc_trim F
 GLIBC_2.17 malloc_usable_size F
index 65fb5036bd65f4d3ab5bd475e179550c51213ccc..c82c88dcf7232fa63d808ea03e93a041b7e6a7fe 100644 (file)
@@ -7,7 +7,9 @@ GLIBC_2.17 calloc F
 GLIBC_2.17 free F
 GLIBC_2.17 mallinfo F
 GLIBC_2.17 malloc F
+GLIBC_2.17 malloc_get_state F
 GLIBC_2.17 malloc_info F
+GLIBC_2.17 malloc_set_state F
 GLIBC_2.17 malloc_stats F
 GLIBC_2.17 malloc_trim F
 GLIBC_2.17 malloc_usable_size F
index b3b55c9c68606a59bf8ba755613b4610baf517e5..35c59b502bab1440db9523fea377dfbe3154bd2c 100644 (file)
@@ -772,8 +772,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6b3c5bfd0bf8352e60d70c0e8f42bae096809b72..55ef9528856159c91a8c705e844d44cd57bb46eb 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 3ec521cf52847e01857aab7dc7ffbc227876e9ce..83e542aa8c2563faa75eeb0f94bc2291157e3bd1 100644 (file)
@@ -1191,8 +1191,6 @@ GLIBC_2.2 madvise F
 GLIBC_2.2 makecontext F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
-GLIBC_2.2 malloc_get_state F
-GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 6d5574a760b7fa57bafab5007e9c1b540b568900..554567ab85ec6aed1b4c845ba3eca42a54265aa2 100644 (file)
@@ -8,6 +8,8 @@ GLIBC_2.2 calloc F
 GLIBC_2.2 free F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
+GLIBC_2.2 malloc_get_state F
+GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 54174a2263c9c6c76b4268ef98b9fa0fdebf7290..9e2c2fbf21da260a80fdc5cefdcff2e2ac50a5ed 100644 (file)
@@ -1184,8 +1184,6 @@ GLIBC_2.2 madvise F
 GLIBC_2.2 makecontext F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
-GLIBC_2.2 malloc_get_state F
-GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 22d0bf2d8a86cef582cd944e4f608062dfba7900..8798ca8653c8f2b8099c346276943e818a0157b8 100644 (file)
@@ -8,6 +8,8 @@ GLIBC_2.2 calloc F
 GLIBC_2.2 free F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
+GLIBC_2.2 malloc_get_state F
+GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 3028f6c334476429e72846020b7fcc54b88b3d59..f2dd40bc5a5ad7c1f08c909be7b9f796da036f75 100644 (file)
@@ -1184,8 +1184,6 @@ GLIBC_2.2 madvise F
 GLIBC_2.2 makecontext F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
-GLIBC_2.2 malloc_get_state F
-GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 22d0bf2d8a86cef582cd944e4f608062dfba7900..8798ca8653c8f2b8099c346276943e818a0157b8 100644 (file)
@@ -8,6 +8,8 @@ GLIBC_2.2 calloc F
 GLIBC_2.2 free F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
+GLIBC_2.2 malloc_get_state F
+GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 8b0ae536e290d70bbcd78d86846e0aa639b9086a..567a7d85002ff3750b7d5d0abec842230f65a27c 100644 (file)
@@ -774,8 +774,6 @@ GLIBC_2.0 lseek F
 GLIBC_2.0 madvise F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
-GLIBC_2.0 malloc_get_state F
-GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index 6b3c5bfd0bf8352e60d70c0e8f42bae096809b72..55ef9528856159c91a8c705e844d44cd57bb46eb 100644 (file)
@@ -6,6 +6,8 @@ GLIBC_2.0 calloc F
 GLIBC_2.0 free F
 GLIBC_2.0 mallinfo F
 GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
 GLIBC_2.0 malloc_stats F
 GLIBC_2.0 malloc_trim F
 GLIBC_2.0 malloc_usable_size F
index e16b738b229270992adbcf8831592bd4a7b43772..6268875ba37ac0d4d277d1bceaa5c63b4bc5a15a 100644 (file)
@@ -1226,8 +1226,6 @@ GLIBC_2.2 madvise F
 GLIBC_2.2 makecontext F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
-GLIBC_2.2 malloc_get_state F
-GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 6d5574a760b7fa57bafab5007e9c1b540b568900..554567ab85ec6aed1b4c845ba3eca42a54265aa2 100644 (file)
@@ -8,6 +8,8 @@ GLIBC_2.2 calloc F
 GLIBC_2.2 free F
 GLIBC_2.2 mallinfo F
 GLIBC_2.2 malloc F
+GLIBC_2.2 malloc_get_state F
+GLIBC_2.2 malloc_set_state F
 GLIBC_2.2 malloc_stats F
 GLIBC_2.2 malloc_trim F
 GLIBC_2.2 malloc_usable_size F
index 12cabf3f88893e4d2b26d0f711da77794c478db2..095e914b73705601aa34cd691a431830244a7c32 100644 (file)
@@ -1188,8 +1188,6 @@ GLIBC_2.2.5 madvise F
 GLIBC_2.2.5 makecontext F
 GLIBC_2.2.5 mallinfo F
 GLIBC_2.2.5 malloc F
-GLIBC_2.2.5 malloc_get_state F
-GLIBC_2.2.5 malloc_set_state F
 GLIBC_2.2.5 malloc_stats F
 GLIBC_2.2.5 malloc_trim F
 GLIBC_2.2.5 malloc_usable_size F
index 3b7b729d64bbc6701290d2cba3aa46f1f269bbcd..45dfcd31c55f223e77f221150dc4bc0f6d520d7c 100644 (file)
@@ -8,6 +8,8 @@ GLIBC_2.2.5 calloc F
 GLIBC_2.2.5 free F
 GLIBC_2.2.5 mallinfo F
 GLIBC_2.2.5 malloc F
+GLIBC_2.2.5 malloc_get_state F
+GLIBC_2.2.5 malloc_set_state F
 GLIBC_2.2.5 malloc_stats F
 GLIBC_2.2.5 malloc_trim F
 GLIBC_2.2.5 malloc_usable_size F
index 545af5a6894737d27ae196814c5ff107218ae62a..dd910f7fe934f2608b19c206a28ced241421467d 100644 (file)
@@ -1329,9 +1329,7 @@ GLIBC_2.16 madvise F
 GLIBC_2.16 makecontext F
 GLIBC_2.16 mallinfo F
 GLIBC_2.16 malloc F
-GLIBC_2.16 malloc_get_state F
 GLIBC_2.16 malloc_info F
-GLIBC_2.16 malloc_set_state F
 GLIBC_2.16 malloc_stats F
 GLIBC_2.16 malloc_trim F
 GLIBC_2.16 malloc_usable_size F
index 91d737a7f8fc74a3a79802f54260a94dfe1ca338..821525018b9b965f2472cdf51f1eb60be280dadc 100644 (file)
@@ -7,7 +7,9 @@ GLIBC_2.16 calloc F
 GLIBC_2.16 free F
 GLIBC_2.16 mallinfo F
 GLIBC_2.16 malloc F
+GLIBC_2.16 malloc_get_state F
 GLIBC_2.16 malloc_info F
+GLIBC_2.16 malloc_set_state F
 GLIBC_2.16 malloc_stats F
 GLIBC_2.16 malloc_trim F
 GLIBC_2.16 malloc_usable_size F