[PATCH v10] malloc: add free_sized and free_aligned_sized from C23

Justin King jcking@google.com
Wed Oct 22 12:51:43 GMT 2025


Signed-off-by: Justin King <jcking@google.com>
---
v10: avoid markdown in stdlib.h, update manual, and fix mtrace tests
v9: rebase and format
v8: address comments from adhemerval.zanella@linaro.org
v7: rebase for 4.23
v6: remove unintended files
v5: fix formatting
v4: fix tests by updating malloc/Version and malloc/malloc-debug.c
v3: fix formatting
v2: update manual/comments based on discussion

 NEWS                                          |  3 ++
 malloc/Makefile                               | 18 +++++++++
 malloc/Versions                               |  8 ++++
 malloc/malloc-debug.c                         | 17 +++++++++
 malloc/malloc.c                               | 27 ++++++++++++++
 malloc/tst-free-aligned-sized-trace.c         | 22 +++++++++++
 malloc/tst-free-aligned-sized.c               | 37 +++++++++++++++++++
 malloc/tst-free-sized-trace.c                 | 22 +++++++++++
 malloc/tst-free-sized.c                       | 37 +++++++++++++++++++
 manual/memory.texi                            | 30 +++++++++++++++
 stdlib/stdlib.h                               | 18 +++++++++
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  2 +
 .../linux/aarch64/libc_malloc_debug.abilist   |  2 +
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  2 +
 .../linux/alpha/libc_malloc_debug.abilist     |  2 +
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  2 +
 .../sysv/linux/arc/libc_malloc_debug.abilist  |  2 +
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  2 +
 .../linux/arm/be/libc_malloc_debug.abilist    |  2 +
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  2 +
 .../linux/arm/le/libc_malloc_debug.abilist    |  2 +
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  2 +
 .../sysv/linux/csky/libc_malloc_debug.abilist |  2 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  2 +
 .../sysv/linux/hppa/libc_malloc_debug.abilist |  2 +
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  2 +
 .../sysv/linux/i386/libc_malloc_debug.abilist |  2 +
 .../sysv/linux/loongarch/lp64/libc.abilist    |  2 +
 .../loongarch/lp64/libc_malloc_debug.abilist  |  2 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |  2 +
 .../m68k/coldfire/libc_malloc_debug.abilist   |  2 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 +
 .../m68k/m680x0/libc_malloc_debug.abilist     |  2 +
 .../sysv/linux/microblaze/be/libc.abilist     |  2 +
 .../microblaze/be/libc_malloc_debug.abilist   |  2 +
 .../sysv/linux/microblaze/le/libc.abilist     |  2 +
 .../microblaze/le/libc_malloc_debug.abilist   |  2 +
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 +
 .../mips/mips32/fpu/libc_malloc_debug.abilist |  2 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 +
 .../mips32/nofpu/libc_malloc_debug.abilist    |  2 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 +
 .../mips/mips64/n32/libc_malloc_debug.abilist |  2 +
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  2 +
 .../mips/mips64/n64/libc_malloc_debug.abilist |  2 +
 sysdeps/unix/sysv/linux/or1k/libc.abilist     |  2 +
 .../sysv/linux/or1k/libc_malloc_debug.abilist |  2 +
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  2 +
 .../powerpc32/fpu/libc_malloc_debug.abilist   |  2 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |  2 +
 .../powerpc32/nofpu/libc_malloc_debug.abilist |  2 +
 .../linux/powerpc/powerpc64/be/libc.abilist   |  2 +
 .../powerpc64/be/libc_malloc_debug.abilist    |  2 +
 .../linux/powerpc/powerpc64/le/libc.abilist   |  2 +
 .../powerpc64/le/libc_malloc_debug.abilist    |  2 +
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  2 +
 .../riscv/rv32/libc_malloc_debug.abilist      |  2 +
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  2 +
 .../riscv/rv64/libc_malloc_debug.abilist      |  2 +
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  2 +
 .../s390/s390-32/libc_malloc_debug.abilist    |  2 +
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 +
 .../s390/s390-64/libc_malloc_debug.abilist    |  2 +
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 +
 .../linux/sh/be/libc_malloc_debug.abilist     |  2 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 +
 .../linux/sh/le/libc_malloc_debug.abilist     |  2 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |  2 +
 .../sparc/sparc32/libc_malloc_debug.abilist   |  2 +
 .../sysv/linux/sparc/sparc64/libc.abilist     |  2 +
 .../sparc/sparc64/libc_malloc_debug.abilist   |  2 +
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 +
 .../linux/x86_64/64/libc_malloc_debug.abilist |  2 +
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 +
 .../x86_64/x32/libc_malloc_debug.abilist      |  2 +
 75 files changed, 367 insertions(+)
 create mode 100644 malloc/tst-free-aligned-sized-trace.c
 create mode 100644 malloc/tst-free-aligned-sized.c
 create mode 100644 malloc/tst-free-sized-trace.c
 create mode 100644 malloc/tst-free-sized.c

diff --git a/NEWS b/NEWS
index 244f7613d8..c100fc8713 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,9 @@ Major new features:
 
 * The ISO C23 memalignment function has been added.
 
+* The ISO C23 functions free_sized and free_aligned_sized are now
+  supported in <stdlib.h>.
+
 Deprecated and removed features, and other changes affecting compatibility:
 
 * Support for dumped heaps has been removed - malloc_set_state() now always
diff --git a/malloc/Makefile b/malloc/Makefile
index cc012e2921..e50e3f28fa 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -32,7 +32,11 @@ tests := \
   tst-aligned-alloc-random-thread-cross \
   tst-alloc_buffer \
   tst-calloc \
+  tst-free-aligned-sized \
+  tst-free-aligned-sized-trace \
   tst-free-errno \
+  tst-free-sized \
+  tst-free-sized-trace \
   tst-interpose-nothread \
   tst-interpose-thread \
   tst-malloc \
@@ -351,6 +355,8 @@ ifneq ($(PERL),no)
 tests-special += $(objpfx)tst-mtrace.out
 tests-special += $(objpfx)tst-dynarray-mem.out
 tests-special += $(objpfx)tst-dynarray-fail-mem.out
+tests-special += $(objpfx)tst-free-aligned-sized-mtrace.out
+tests-special += $(objpfx)tst-free-sized-mtrace.out
 endif
 endif
 endif
@@ -459,3 +465,15 @@ tst-aligned-alloc-random-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so
 tst-aligned-alloc-random-thread-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so
 tst-aligned-alloc-random-thread-cross-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so
 tst-malloc-random-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so
+
+tst-free-aligned-sized-trace-ENV = MALLOC_TRACE=$(objpfx)tst-free-aligned-sized-mem.mtrace \
+																	 LD_PRELOAD=$(objpfx)libc_malloc_debug.so
+$(objpfx)tst-free-aligned-sized-mtrace.out: $(objpfx)tst-free-aligned-sized-trace.out
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-free-aligned-sized-mem.mtrace > $@; \
+	$(evaluate-test)
+
+tst-free-sized-trace-ENV = MALLOC_TRACE=$(objpfx)tst-free-sized-mem.mtrace \
+													 LD_PRELOAD=$(objpfx)libc_malloc_debug.so
+$(objpfx)tst-free-sized-mtrace.out: $(objpfx)tst-free-sized-trace.out
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-free-sized-mem.mtrace > $@; \
+	$(evaluate-test)
diff --git a/malloc/Versions b/malloc/Versions
index c763395c6d..a9ce4a035f 100644
--- a/malloc/Versions
+++ b/malloc/Versions
@@ -67,6 +67,10 @@ libc {
   GLIBC_2.33 {
     mallinfo2;
   }
+  GLIBC_2.43 {
+    free_aligned_sized;
+    free_sized;
+  }
   GLIBC_PRIVATE {
     # Internal startup hook for libpthread.
     __libc_malloc_pthread_startup;
@@ -141,4 +145,8 @@ libc_malloc_debug {
   GLIBC_2.33 {
     mallinfo2;
   }
+  GLIBC_2.43 {
+    free_aligned_sized;
+    free_sized;
+  }
 }
diff --git a/malloc/malloc-debug.c b/malloc/malloc-debug.c
index 15867e23c5..bb420e4190 100644
--- a/malloc/malloc-debug.c
+++ b/malloc/malloc-debug.c
@@ -198,6 +198,21 @@ __debug_free (void *mem)
 }
 strong_alias (__debug_free, free)
 
+static void
+__debug_free_sized (void *mem, __attribute_maybe_unused__ size_t size)
+{
+  free (mem);
+}
+strong_alias (__debug_free_sized, free_sized)
+
+static void
+__debug_free_aligned_sized (void *mem, __attribute_maybe_unused__ size_t alignment,
+                            __attribute_maybe_unused__ size_t size)
+{
+  free (mem);
+}
+strong_alias (__debug_free_aligned_sized, free_aligned_sized)
+
 static void *
 __debug_realloc (void *oldmem, size_t bytes)
 {
@@ -497,6 +512,8 @@ compat_symbol (libc_malloc_debug, malloc_set_state, malloc_set_state,
 compat_symbol (libc_malloc_debug, aligned_alloc, aligned_alloc, GLIBC_2_16);
 compat_symbol (libc_malloc_debug, calloc, calloc, GLIBC_2_0);
 compat_symbol (libc_malloc_debug, free, free, GLIBC_2_0);
+compat_symbol (libc_malloc_debug, free_aligned_sized, free_aligned_sized, GLIBC_2_43);
+compat_symbol (libc_malloc_debug, free_sized, free_sized, GLIBC_2_43);
 compat_symbol (libc_malloc_debug, mallinfo2, mallinfo2, GLIBC_2_33);
 compat_symbol (libc_malloc_debug, mallinfo, mallinfo, GLIBC_2_0);
 compat_symbol (libc_malloc_debug, malloc_info, malloc_info, GLIBC_2_10);
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 4ec326b2ad..4639915df0 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -3686,6 +3686,33 @@ aligned_alloc (size_t alignment, size_t bytes)
   return _mid_memalign (alignment, bytes);
 }
 
+/* For ISO C23.  */
+void
+weak_function
+free_sized (void *ptr, __attribute_maybe_unused__ size_t size)
+{
+  /* We do not perform validation that size is the same as the original
+     requested size at this time. We leave that to the sanitizers.  We
+     simply forward to `free`.  This allows existing malloc replacements
+     to continue to work.  */
+
+  free (ptr);
+}
+
+/* For ISO C23.  */
+void
+weak_function
+free_aligned_sized (void *ptr, __attribute_maybe_unused__ size_t alignment,
+                    __attribute_maybe_unused__ size_t size)
+{
+  /* We do not perform validation that size and alignment is the same as
+     the original requested size and alignment at this time.  We leave that
+     to the sanitizers.  We simply forward to `free`.  This allows existing
+     malloc replacements to continue to work.  */
+
+  free (ptr);
+}
+
 static void *
 _mid_memalign (size_t alignment, size_t bytes)
 {
diff --git a/malloc/tst-free-aligned-sized-trace.c b/malloc/tst-free-aligned-sized-trace.c
new file mode 100644
index 0000000000..d28e156903
--- /dev/null
+++ b/malloc/tst-free-aligned-sized-trace.c
@@ -0,0 +1,22 @@
+/* Test that free_aligned_sized works.
+   Copyright (C) 2025 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <mcheck.h>
+
+#define MTRACE mtrace()
+#include "tst-free-aligned-sized.c"
diff --git a/malloc/tst-free-aligned-sized.c b/malloc/tst-free-aligned-sized.c
new file mode 100644
index 0000000000..da15860017
--- /dev/null
+++ b/malloc/tst-free-aligned-sized.c
@@ -0,0 +1,37 @@
+/* Test that free_aligned_sized works.
+   Copyright (C) 2025 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <stdlib.h>
+
+static int
+do_test (void)
+{
+#ifdef MTRACE
+  MTRACE;
+#endif
+
+  free_aligned_sized (NULL, 0, 0);
+
+  void *p = aligned_alloc (128, 1024);
+  free_aligned_sized (p, 128, 1024);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/malloc/tst-free-sized-trace.c b/malloc/tst-free-sized-trace.c
new file mode 100644
index 0000000000..1164e1a306
--- /dev/null
+++ b/malloc/tst-free-sized-trace.c
@@ -0,0 +1,22 @@
+/* Test that free_aligned_sized works.
+   Copyright (C) 2025 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <mcheck.h>
+
+#define MTRACE mtrace()
+#include "tst-free-sized.c"
diff --git a/malloc/tst-free-sized.c b/malloc/tst-free-sized.c
new file mode 100644
index 0000000000..f2f5178918
--- /dev/null
+++ b/malloc/tst-free-sized.c
@@ -0,0 +1,37 @@
+/* Test that free_sized works.
+   Copyright (C) 2025 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <stdlib.h>
+
+static int
+do_test (void)
+{
+#ifdef MTRACE
+  MTRACE;
+#endif
+
+  free_sized (NULL, 0);
+
+  void *p = malloc (128);
+  free_sized (p, 128);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/manual/memory.texi b/manual/memory.texi
index dd6c7f9996..e818ac6d32 100644
--- a/manual/memory.texi
+++ b/manual/memory.texi
@@ -763,6 +763,34 @@ There is no point in freeing blocks at the end of a program, because all
 of the program's space is given back to the system when the process
 terminates.
 
+@deftypefun void free_sized (void *@var{ptr}, size_t @var{size})
+@standards{ISO, stdlib.h}
+@safety{@prelim{}@mtsafe{}@asunsafe{@asulock{}}@acunsafe{@aculock{} @acsfd{} @acsmem{}}}
+The @code{free_sized} function deallocates the block of memory pointed at
+by @var{ptr} that was previously allocated by @code{malloc}, @code{calloc}
+or @code{realloc}.  The size @var{size} must match the previously requested
+total size provided to @code{malloc}, @code{calloc} or @code{realloc}.
+Attempting to deallocated memory allocated by @code{aligned_alloc},
+@code{memalign}, @code{posix_memalign}, @code{valloc} or @code{pvalloc} is
+undefined behavior.  For @code{aligned_alloc}, @code{memalign} or
+@code{posix_memalign} use @code{free_aligned_sized} instead.  Additionally
+it is also undefined behavior to call @code{free_sized} for allocations
+which the caller did not directly allocate but must still deallocate, such
+as the result of @code{strdup} or @code{strndup}.  Instead continue using
+@code{free} for these cases.
+@end deftypefun
+
+@deftypefun void free_aligned_sized (void *@var{ptr}, size_t @var{alignment}, size_t @var{size})
+@standards{ISO, stdlib.h}
+@safety{@prelim{}@mtsafe{}@asunsafe{@asulock{}}@acunsafe{@aculock{} @acsfd{} @acsmem{}}}
+The @code{free_aligned_sized} function deallocates the block of memory
+pointed at by @var{ptr} that was previously allocated by
+@code{aligned_alloc}, @code{memalign} or @code{posix_memalign}.
+The size @var{size} and alignment @var{alignment} must match the
+previously requested size and alignment provided to
+@code{aligned_alloc}, @code{memalign} or @code{posix_memalign}.
+@end deftypefun
+
 @node Changing Block Size
 @subsubsection Changing the Size of a Block
 @cindex changing the size of a block (@code{malloc})
@@ -1908,6 +1936,8 @@ functions, too.  Their names are listed in the following table.
 
 @table @code
 @item aligned_alloc
+@item free_aligned_sized
+@item free_sized
 @item malloc_usable_size
 @item memalign
 @item posix_memalign
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 8d4d194a46..bc975320ba 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -686,6 +686,24 @@ extern void *realloc (void *__ptr, size_t __size)
 /* Free a block allocated by `malloc', `realloc' or `calloc'.  */
 extern void free (void *__ptr) __THROW;
 
+#if __GLIBC_USE(ISOC23)
+/* Free a block allocated by `malloc', `realloc' or `calloc' but not
+   `aligned_alloc', `memalign', `posix_memalign', `valloc' or
+   `pvalloc'. SIZE must be equal to the original requested size
+   provided to `malloc', `realloc' or `calloc'. For `calloc' SIZE is
+   NMEMB elements * SIZE bytes. It is forbidden to call `free_sized'
+   for allocations which the caller did not directly allocate but
+   must still deallocate, such as `strdup' or `strndup'. Instead
+   continue using `free` for these cases.  */
+extern void free_sized (void *__ptr, size_t __size) __THROW;
+
+/* Free a block allocated by `aligned_alloc', `memalign' or
+   `posix_memalign'. ALIGNMENT and SIZE must be the same as the values
+   provided to `aligned_alloc', `memalign' or `posix_memalign'.  */
+extern void free_aligned_sized (void *__ptr, size_t __alignment, size_t __size)
+     __THROW;
+#endif
+
 #ifdef __USE_MISC
 /* Re-allocate the previously allocated block in PTR, making the new
    block large enough for NMEMB elements of SIZE bytes each.  */
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index cd7d7e7f3f..13b77c23cf 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2768,5 +2768,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/aarch64/libc_malloc_debug.abilist
index c82c88dcf7..7d780df807 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.17 pvalloc F
 GLIBC_2.17 realloc F
 GLIBC_2.17 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index c772aa126c..0fc239eb51 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -3115,6 +3115,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/alpha/libc_malloc_debug.abilist
index 15b3293b03..d0625f0b7e 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 773a94f23a..86335a1c8a 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -2529,5 +2529,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/arc/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/arc/libc_malloc_debug.abilist
index cf9f611403..de3e5db9f4 100644
--- a/sysdeps/unix/sysv/linux/arc/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc_malloc_debug.abilist
@@ -24,3 +24,5 @@ GLIBC_2.32 pvalloc F
 GLIBC_2.32 realloc F
 GLIBC_2.32 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index b6767ebce3..0b6292596a 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -2821,6 +2821,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/arm/be/libc_malloc_debug.abilist
index e505469154..7fb5a4b24d 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.4 posix_memalign F
 GLIBC_2.4 pvalloc F
 GLIBC_2.4 realloc F
 GLIBC_2.4 valloc F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 34c59b8f0f..350d45ec7f 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -2818,6 +2818,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/arm/le/libc_malloc_debug.abilist
index e505469154..7fb5a4b24d 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.4 posix_memalign F
 GLIBC_2.4 pvalloc F
 GLIBC_2.4 realloc F
 GLIBC_2.4 valloc F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 045f0daafc..c4f96b3fc4 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2805,5 +2805,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/csky/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/csky/libc_malloc_debug.abilist
index 4cd866430b..f63e9a1230 100644
--- a/sysdeps/unix/sysv/linux/csky/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc_malloc_debug.abilist
@@ -24,3 +24,5 @@ GLIBC_2.29 pvalloc F
 GLIBC_2.29 realloc F
 GLIBC_2.29 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 3e868398ba..794701135d 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2842,6 +2842,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/hppa/libc_malloc_debug.abilist
index 8798ca8653..aed13d6b15 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 pvalloc F
 GLIBC_2.2 realloc F
 GLIBC_2.2 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 4ac5171f46..fa9fb97633 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -3025,6 +3025,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/i386/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/i386/libc_malloc_debug.abilist
index 55ef952885..b74f43e4e0 100644
--- a/sysdeps/unix/sysv/linux/i386/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
index b2f68316de..7a04ecbede 100644
--- a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
@@ -2289,5 +2289,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libc_malloc_debug.abilist
index 6ddfd162b3..37b87937a9 100644
--- a/sysdeps/unix/sysv/linux/loongarch/lp64/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libc_malloc_debug.abilist
@@ -24,3 +24,5 @@ GLIBC_2.36 posix_memalign F
 GLIBC_2.36 pvalloc F
 GLIBC_2.36 realloc F
 GLIBC_2.36 valloc F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index feb34915a1..9f669741ce 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -2801,6 +2801,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc_malloc_debug.abilist
index e505469154..7fb5a4b24d 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.4 posix_memalign F
 GLIBC_2.4 pvalloc F
 GLIBC_2.4 realloc F
 GLIBC_2.4 valloc F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index c497daba54..5b1d9329aa 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2968,6 +2968,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc_malloc_debug.abilist
index 55ef952885..b74f43e4e0 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index e8b15834e2..f44756668a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2854,5 +2854,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc_malloc_debug.abilist
index a082e71f94..a0a54842aa 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.18 pvalloc F
 GLIBC_2.18 realloc F
 GLIBC_2.18 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 8dc0f9d54f..fb1327a322 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2851,5 +2851,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc_malloc_debug.abilist
index a082e71f94..a0a54842aa 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.18 pvalloc F
 GLIBC_2.18 realloc F
 GLIBC_2.18 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 53950e67d9..42c7cacae2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2931,6 +2931,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc_malloc_debug.abilist
index 55ef952885..b74f43e4e0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index b60839335e..a6f541cb62 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2929,6 +2929,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc_malloc_debug.abilist
index 55ef952885..b74f43e4e0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index ed12fb7352..5fe54fcc3c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2937,6 +2937,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc_malloc_debug.abilist
index 55ef952885..b74f43e4e0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 6ac6778e65..28a499fabe 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2839,6 +2839,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc_malloc_debug.abilist
index 15b3293b03..d0625f0b7e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/or1k/libc.abilist b/sysdeps/unix/sysv/linux/or1k/libc.abilist
index 7639a50bc4..9da7e35bab 100644
--- a/sysdeps/unix/sysv/linux/or1k/libc.abilist
+++ b/sysdeps/unix/sysv/linux/or1k/libc.abilist
@@ -2279,5 +2279,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/or1k/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/or1k/libc_malloc_debug.abilist
index 0acf98fc6f..bcf96f8f35 100644
--- a/sysdeps/unix/sysv/linux/or1k/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/or1k/libc_malloc_debug.abilist
@@ -24,3 +24,5 @@ GLIBC_2.35 posix_memalign F
 GLIBC_2.35 pvalloc F
 GLIBC_2.35 realloc F
 GLIBC_2.35 valloc F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 07171e7f6f..4decae3150 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -3158,6 +3158,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc_malloc_debug.abilist
index 55ef952885..b74f43e4e0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 8cadb158d3..26de2274e0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -3203,6 +3203,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc_malloc_debug.abilist
index 55ef952885..b74f43e4e0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index af449c5420..9bb3531136 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2912,6 +2912,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc_malloc_debug.abilist
index 9f54dfd562..6926ec9d5f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.3 pvalloc F
 GLIBC_2.3 realloc F
 GLIBC_2.3 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 4ae1fd8477..f1a6132f32 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2988,5 +2988,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc_malloc_debug.abilist
index c82c88dcf7..7d780df807 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.17 pvalloc F
 GLIBC_2.17 realloc F
 GLIBC_2.17 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 42a37e3e84..a44334bc32 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -2532,5 +2532,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc_malloc_debug.abilist
index ff6713a479..2e45c8178c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc_malloc_debug.abilist
@@ -24,3 +24,5 @@ GLIBC_2.33 posix_memalign F
 GLIBC_2.33 pvalloc F
 GLIBC_2.33 realloc F
 GLIBC_2.33 valloc F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 66561593df..f18496f212 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2732,5 +2732,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc_malloc_debug.abilist
index 65425a03ee..58a27eb626 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc_malloc_debug.abilist
@@ -24,3 +24,5 @@ GLIBC_2.27 pvalloc F
 GLIBC_2.27 realloc F
 GLIBC_2.27 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 99090f39a2..0198aa3f2c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -3156,6 +3156,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc_malloc_debug.abilist
index 55ef952885..b74f43e4e0 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 8b37af8f76..49379f6998 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2949,6 +2949,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc_malloc_debug.abilist
index 554567ab85..08a2f74a7a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 pvalloc F
 GLIBC_2.2 realloc F
 GLIBC_2.2 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index db85b97e47..150d8dbb7b 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2848,6 +2848,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/sh/be/libc_malloc_debug.abilist
index 8798ca8653..aed13d6b15 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 pvalloc F
 GLIBC_2.2 realloc F
 GLIBC_2.2 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 733d6aaffa..6de1df8bba 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2845,6 +2845,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/sh/le/libc_malloc_debug.abilist
index 8798ca8653..aed13d6b15 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 pvalloc F
 GLIBC_2.2 realloc F
 GLIBC_2.2 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 85e15e34c1..55ef8b977c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -3179,6 +3179,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc_malloc_debug.abilist
index 55ef952885..b74f43e4e0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 posix_memalign F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index fb90d0ab15..a0c89be87c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2815,6 +2815,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc_malloc_debug.abilist
index 554567ab85..08a2f74a7a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2 pvalloc F
 GLIBC_2.2 realloc F
 GLIBC_2.2 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index aa3cdd6c69..b21b3de965 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2764,6 +2764,8 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
 GLIBC_2.5 __readlinkat_chk F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc_malloc_debug.abilist
index 45dfcd31c5..dfd31ae94e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.2.5 pvalloc F
 GLIBC_2.2.5 realloc F
 GLIBC_2.2.5 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 1aeb3429c7..99b38da60c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2783,5 +2783,7 @@ GLIBC_2.42 uimaxabs F
 GLIBC_2.42 ulabs F
 GLIBC_2.42 ullabs F
 GLIBC_2.43 __memset_explicit_chk F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
 GLIBC_2.43 memalignment F
 GLIBC_2.43 memset_explicit F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc_malloc_debug.abilist
index 821525018b..3c88b408b4 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc_malloc_debug.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc_malloc_debug.abilist
@@ -26,3 +26,5 @@ GLIBC_2.16 pvalloc F
 GLIBC_2.16 realloc F
 GLIBC_2.16 valloc F
 GLIBC_2.33 mallinfo2 F
+GLIBC_2.43 free_aligned_sized F
+GLIBC_2.43 free_sized F
-- 
2.51.1.814.gb8fa24458f-goog



More information about the Libc-alpha mailing list