[PATCH v5] malloc: add free_sized and free_aligned_sized from C23
Justin King
jcking@google.com
Mon Jul 7 15:09:47 GMT 2025
Signed-off-by: Justin King <jcking@google.com>
---
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
.vscode/settings.json | 9 +
NEWS | 3 +
malloc/Makefile | 2 +
malloc/Versions | 8 +
malloc/malloc-debug.c | 17 +
malloc/malloc.c | 27 +
malloc/tst-free-aligned-sized.c | 33 +
malloc/tst-free-sized.c | 33 +
manual/memory.texi | 28 +
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 +
...ee_sized-and-free_aligned_sized-from.patch | 1098 +++++++++++++++++
75 files changed, 1404 insertions(+)
create mode 100644 .vscode/settings.json
create mode 100644 malloc/tst-free-aligned-sized.c
create mode 100644 malloc/tst-free-sized.c
create mode 100644 v4-0001-malloc-add-free_sized-and-free_aligned_sized-from.patch
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000..32be14a4d8
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,9 @@
+{
+ "files.associations": {
+ "array": "c",
+ "string_view": "c",
+ "format": "c",
+ "initializer_list": "c",
+ "span": "c"
+ }
+}
\ No newline at end of file
diff --git a/NEWS b/NEWS
index cc668344c1..13ec06c1a9 100644
--- a/NEWS
+++ b/NEWS
@@ -26,6 +26,9 @@ Major new features:
speed_t is redefined to simply be the baud rate specified as an
unsigned int, which matches the kernel interface.
+* 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:
* The glibc.rtld.execstack now supports a compatibility mode to allow
diff --git a/malloc/Makefile b/malloc/Makefile
index 2f232f9238..e8d43e5a7f 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -32,7 +32,9 @@ tests := \
tst-aligned-alloc-random-thread-cross \
tst-alloc_buffer \
tst-calloc \
+ tst-free-aligned-sized \
tst-free-errno \
+ tst-free-sized \
tst-interpose-nothread \
tst-interpose-thread \
tst-malloc \
diff --git a/malloc/Versions b/malloc/Versions
index c763395c6d..ed48a6f13d 100644
--- a/malloc/Versions
+++ b/malloc/Versions
@@ -67,6 +67,10 @@ libc {
GLIBC_2.33 {
mallinfo2;
}
+ GLIBC_2.42 {
+ 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.42 {
+ free_aligned_sized;
+ free_sized;
+ }
}
diff --git a/malloc/malloc-debug.c b/malloc/malloc-debug.c
index d208aa32a3..36ce909bca 100644
--- a/malloc/malloc-debug.c
+++ b/malloc/malloc-debug.c
@@ -213,6 +213,21 @@ __debug_free (void *mem)
}
strong_alias (__debug_free, free)
+static void
+__debug_free_sized (void *mem, __attribute__ ((__unused__)) size_t size)
+{
+ free (mem);
+}
+strong_alias (__debug_free_sized, free_sized)
+
+static void
+__debug_free_aligned_sized (void *mem, __attribute__ ((__unused__)) size_t alignment,
+ __attribute__ ((__unused__)) size_t size)
+{
+ free (mem);
+}
+strong_alias (__debug_free_aligned_sized, free_aligned_sized)
+
static void *
__debug_realloc (void *oldmem, size_t bytes)
{
@@ -650,6 +665,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_42);
+compat_symbol (libc_malloc_debug, free_sized, free_sized, GLIBC_2_42);
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 d28cd66faa..2216eb95c7 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -3732,6 +3732,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__ ((__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__ ((__unused__)) size_t alignment,
+ __attribute__ ((__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.c b/malloc/tst-free-aligned-sized.c
new file mode 100644
index 0000000000..f04e39bbdd
--- /dev/null
+++ b/malloc/tst-free-aligned-sized.c
@@ -0,0 +1,33 @@
+/* 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)
+{
+ 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.c b/malloc/tst-free-sized.c
new file mode 100644
index 0000000000..0ad9380787
--- /dev/null
+++ b/malloc/tst-free-sized.c
@@ -0,0 +1,33 @@
+/* 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)
+{
+ 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 46f76c17ca..9ed7f31304 100644
--- a/manual/memory.texi
+++ b/manual/memory.texi
@@ -764,6 +764,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})
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index cd4503c761..f7596ba4e1 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 a22e651432..ed4874eb5b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2762,6 +2762,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..c8665bef4e 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 4b5736a3b6..8d9c691caa 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -3109,6 +3109,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..91560d80f3 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index b8a44784bd..a17453d41b 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -2523,6 +2523,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..7317c42e60 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 959e44672f..846cdb8e37 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -2815,6 +2815,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..b3451f33a2 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index a930d1a52b..6073155520 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -2812,6 +2812,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..b3451f33a2 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 6325fc12c4..59ac43aa98 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2799,6 +2799,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..e5b7c66f9a 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 86b3fbdeec..b872cd932c 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2836,6 +2836,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..a20fdc077e 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 6555592d86..23e9e5cb48 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -3019,6 +3019,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
index a6cab9612a..6190145fdf 100644
--- a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
@@ -2283,6 +2283,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..ccc539bae3 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 7b7b72aa50..25a0f4458c 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -2795,6 +2795,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..b3451f33a2 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index df398e43c6..1feb8c7479 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2962,6 +2962,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index ca8df6f4b0..f8c2752141 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2848,6 +2848,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..f9e827fdc8 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 9508154847..ecafc4cb21 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2845,6 +2845,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..f9e827fdc8 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.42 free_aligned_sized F
+GLIBC_2.42 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 4d51cc428f..d04a6024a4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2923,6 +2923,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 tcgetattr F
GLIBC_2.42 tcsetattr 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..0a44173963 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.42 free_aligned_sized F
+GLIBC_2.42 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 7f90fadc76..aa8f21b079 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2921,6 +2921,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 tcgetattr F
GLIBC_2.42 tcsetattr 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..0a44173963 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.42 free_aligned_sized F
+GLIBC_2.42 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 fc366d1bd0..1d3476f4a6 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2929,6 +2929,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 tcgetattr F
GLIBC_2.42 tcsetattr 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..0a44173963 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.42 free_aligned_sized F
+GLIBC_2.42 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 debd5c37c9..6b78a34ece 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2831,6 +2831,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 tcgetattr F
GLIBC_2.42 tcsetattr 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..91560d80f3 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/or1k/libc.abilist b/sysdeps/unix/sysv/linux/or1k/libc.abilist
index b62d59f1af..070d802695 100644
--- a/sysdeps/unix/sysv/linux/or1k/libc.abilist
+++ b/sysdeps/unix/sysv/linux/or1k/libc.abilist
@@ -2273,6 +2273,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..4e1379004a 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.42 free_aligned_sized F
+GLIBC_2.42 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 883e66f3ae..9fc3b9f1be 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -3152,6 +3152,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
+GLIBC_2.42 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 84cd9e0e18..6efafcd8c0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -3197,6 +3197,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
+GLIBC_2.42 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 8832568ab3..84074d7f0b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2906,6 +2906,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..69abe86856 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.42 free_aligned_sized F
+GLIBC_2.42 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 b6ff8016e4..2912182f7f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2982,6 +2982,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..c8665bef4e 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 1771a2370c..1c5730c3a3 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -2526,6 +2526,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..2b6394df79 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 4b48352fd9..ab981cac72 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2726,6 +2726,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..722ab61006 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.42 free_aligned_sized F
+GLIBC_2.42 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 f0decc787b..a62b9af3ac 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -3150,6 +3150,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
+GLIBC_2.42 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 da8a2bfb74..896da04f76 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2943,6 +2943,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..1ec5e806fd 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index fb30341894..6734055891 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2842,6 +2842,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..a20fdc077e 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index d716673432..fb7b9f940b 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2839,6 +2839,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..a20fdc077e 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 6deedf216d..3ca27da0ef 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -3171,6 +3171,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 tcgetattr F
GLIBC_2.42 tcsetattr 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..0a44173963 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 1ce22bf036..b1387062bc 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2807,6 +2807,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 tcgetattr F
GLIBC_2.42 tcsetattr 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..1ec5e806fd 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.42 free_aligned_sized F
+GLIBC_2.42 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 564877250b..a62fb3874b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2758,6 +2758,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..5cce5f4ee4 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.42 free_aligned_sized F
+GLIBC_2.42 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 25a39d0943..02cf0375e2 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2777,6 +2777,8 @@ GLIBC_2.42 cfsetispeed F
GLIBC_2.42 cfsetobaud F
GLIBC_2.42 cfsetospeed F
GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs 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..b01ae6b82e 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.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
diff --git a/v4-0001-malloc-add-free_sized-and-free_aligned_sized-from.patch b/v4-0001-malloc-add-free_sized-and-free_aligned_sized-from.patch
new file mode 100644
index 0000000000..bf0e44e885
--- /dev/null
+++ b/v4-0001-malloc-add-free_sized-and-free_aligned_sized-from.patch
@@ -0,0 +1,1098 @@
+From c20a51fd01b8c0c10de925eb9a8a8921623e937e Mon Sep 17 00:00:00 2001
+From: Justin King <jcking@google.com>
+Date: Mon, 23 Jun 2025 08:20:15 -0700
+Subject: [PATCH v4] malloc: add free_sized and free_aligned_sized from C23
+
+Signed-off-by: Justin King <jcking@google.com>
+---
+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 | 2 ++
+ malloc/Versions | 8 +++++
+ malloc/malloc-debug.c | 17 ++++++++++
+ malloc/malloc.c | 27 +++++++++++++++
+ malloc/tst-free-aligned-sized.c | 33 +++++++++++++++++++
+ malloc/tst-free-sized.c | 33 +++++++++++++++++++
+ manual/memory.texi | 28 ++++++++++++++++
+ 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 ++
+ 73 files changed, 297 insertions(+)
+ create mode 100644 malloc/tst-free-aligned-sized.c
+ create mode 100644 malloc/tst-free-sized.c
+
+diff --git a/NEWS b/NEWS
+index cc668344c1..13ec06c1a9 100644
+--- a/NEWS
++++ b/NEWS
+@@ -26,6 +26,9 @@ Major new features:
+ speed_t is redefined to simply be the baud rate specified as an
+ unsigned int, which matches the kernel interface.
+
++* 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:
+
+ * The glibc.rtld.execstack now supports a compatibility mode to allow
+diff --git a/malloc/Makefile b/malloc/Makefile
+index 2f232f9238..e8d43e5a7f 100644
+--- a/malloc/Makefile
++++ b/malloc/Makefile
+@@ -32,7 +32,9 @@ tests := \
+ tst-aligned-alloc-random-thread-cross \
+ tst-alloc_buffer \
+ tst-calloc \
++ tst-free-aligned-sized \
+ tst-free-errno \
++ tst-free-sized \
+ tst-interpose-nothread \
+ tst-interpose-thread \
+ tst-malloc \
+diff --git a/malloc/Versions b/malloc/Versions
+index c763395c6d..ed48a6f13d 100644
+--- a/malloc/Versions
++++ b/malloc/Versions
+@@ -67,6 +67,10 @@ libc {
+ GLIBC_2.33 {
+ mallinfo2;
+ }
++ GLIBC_2.42 {
++ 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.42 {
++ free_aligned_sized;
++ free_sized;
++ }
+ }
+diff --git a/malloc/malloc-debug.c b/malloc/malloc-debug.c
+index d208aa32a3..9045f95d9e 100644
+--- a/malloc/malloc-debug.c
++++ b/malloc/malloc-debug.c
+@@ -213,6 +213,21 @@ __debug_free (void *mem)
+ }
+ strong_alias (__debug_free, free)
+
++static void
++__debug_free_sized (void *mem, __attribute__ ((__unused__)) size_t size)
++{
++ free (mem);
++}
++strong_alias (__debug_free_sized, free_sized)
++
++static void
++__debug_free_aligned_sized (void *mem, __attribute__ ((__unused__)) size_t alignment,
++ __attribute__ ((__unused__)) size_t size)
++{
++ free (mem);
++}
++strong_alias(__debug_free_aligned_sized, free_aligned_sized)
++
+ static void *
+ __debug_realloc (void *oldmem, size_t bytes)
+ {
+@@ -650,6 +665,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_42);
++compat_symbol (libc_malloc_debug, free_sized, free_sized, GLIBC_2_42);
+ 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 d28cd66faa..2216eb95c7 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -3732,6 +3732,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__ ((__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__ ((__unused__)) size_t alignment,
++ __attribute__ ((__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.c b/malloc/tst-free-aligned-sized.c
+new file mode 100644
+index 0000000000..f04e39bbdd
+--- /dev/null
++++ b/malloc/tst-free-aligned-sized.c
+@@ -0,0 +1,33 @@
++/* 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)
++{
++ 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.c b/malloc/tst-free-sized.c
+new file mode 100644
+index 0000000000..0ad9380787
+--- /dev/null
++++ b/malloc/tst-free-sized.c
+@@ -0,0 +1,33 @@
++/* 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)
++{
++ 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 46f76c17ca..9ed7f31304 100644
+--- a/manual/memory.texi
++++ b/manual/memory.texi
+@@ -764,6 +764,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})
+diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
+index cd4503c761..f7596ba4e1 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 a22e651432..ed4874eb5b 100644
+--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
++++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+@@ -2762,6 +2762,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..c8665bef4e 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
+index 4b5736a3b6..8d9c691caa 100644
+--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
++++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
+@@ -3109,6 +3109,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..91560d80f3 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
+index b8a44784bd..a17453d41b 100644
+--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
++++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
+@@ -2523,6 +2523,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..7317c42e60 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+index 959e44672f..846cdb8e37 100644
+--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
++++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+@@ -2815,6 +2815,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..b3451f33a2 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+index a930d1a52b..6073155520 100644
+--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
++++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+@@ -2812,6 +2812,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..b3451f33a2 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
+index 6325fc12c4..59ac43aa98 100644
+--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
++++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
+@@ -2799,6 +2799,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..e5b7c66f9a 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
+index 86b3fbdeec..b872cd932c 100644
+--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
++++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
+@@ -2836,6 +2836,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..a20fdc077e 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
+index 6555592d86..23e9e5cb48 100644
+--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
++++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
+@@ -3019,6 +3019,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
+index a6cab9612a..6190145fdf 100644
+--- a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
++++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
+@@ -2283,6 +2283,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..ccc539bae3 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+index 7b7b72aa50..25a0f4458c 100644
+--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
++++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+@@ -2795,6 +2795,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..b3451f33a2 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+index df398e43c6..1feb8c7479 100644
+--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
++++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+@@ -2962,6 +2962,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+index ca8df6f4b0..f8c2752141 100644
+--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
++++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+@@ -2848,6 +2848,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..f9e827fdc8 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+index 9508154847..ecafc4cb21 100644
+--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
++++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+@@ -2845,6 +2845,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..f9e827fdc8 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.42 free_aligned_sized F
++GLIBC_2.42 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 4d51cc428f..d04a6024a4 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
++++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+@@ -2923,6 +2923,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 tcgetattr F
+ GLIBC_2.42 tcsetattr 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..0a44173963 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.42 free_aligned_sized F
++GLIBC_2.42 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 7f90fadc76..aa8f21b079 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
++++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+@@ -2921,6 +2921,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 tcgetattr F
+ GLIBC_2.42 tcsetattr 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..0a44173963 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.42 free_aligned_sized F
++GLIBC_2.42 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 fc366d1bd0..1d3476f4a6 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
++++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+@@ -2929,6 +2929,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 tcgetattr F
+ GLIBC_2.42 tcsetattr 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..0a44173963 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.42 free_aligned_sized F
++GLIBC_2.42 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 debd5c37c9..6b78a34ece 100644
+--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
++++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+@@ -2831,6 +2831,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 tcgetattr F
+ GLIBC_2.42 tcsetattr 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..91560d80f3 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/or1k/libc.abilist b/sysdeps/unix/sysv/linux/or1k/libc.abilist
+index b62d59f1af..070d802695 100644
+--- a/sysdeps/unix/sysv/linux/or1k/libc.abilist
++++ b/sysdeps/unix/sysv/linux/or1k/libc.abilist
+@@ -2273,6 +2273,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..4e1379004a 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.42 free_aligned_sized F
++GLIBC_2.42 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 883e66f3ae..9fc3b9f1be 100644
+--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+@@ -3152,6 +3152,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
++GLIBC_2.42 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 84cd9e0e18..6efafcd8c0 100644
+--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+@@ -3197,6 +3197,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
++GLIBC_2.42 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 8832568ab3..84074d7f0b 100644
+--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+@@ -2906,6 +2906,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..69abe86856 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.42 free_aligned_sized F
++GLIBC_2.42 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 b6ff8016e4..2912182f7f 100644
+--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+@@ -2982,6 +2982,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..c8665bef4e 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+index 1771a2370c..1c5730c3a3 100644
+--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
++++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+@@ -2526,6 +2526,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..2b6394df79 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+index 4b48352fd9..ab981cac72 100644
+--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
++++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+@@ -2726,6 +2726,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..722ab61006 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.42 free_aligned_sized F
++GLIBC_2.42 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 f0decc787b..a62b9af3ac 100644
+--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
++++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+@@ -3150,6 +3150,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..0a44173963 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.42 free_aligned_sized F
++GLIBC_2.42 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 da8a2bfb74..896da04f76 100644
+--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
++++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+@@ -2943,6 +2943,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..1ec5e806fd 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+index fb30341894..6734055891 100644
+--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
++++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+@@ -2842,6 +2842,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..a20fdc077e 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+index d716673432..fb7b9f940b 100644
+--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
++++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+@@ -2839,6 +2839,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..a20fdc077e 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+index 6deedf216d..3ca27da0ef 100644
+--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
++++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+@@ -3171,6 +3171,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 tcgetattr F
+ GLIBC_2.42 tcsetattr 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..0a44173963 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+index 1ce22bf036..b1387062bc 100644
+--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
++++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+@@ -2807,6 +2807,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 tcgetattr F
+ GLIBC_2.42 tcsetattr 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..1ec5e806fd 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.42 free_aligned_sized F
++GLIBC_2.42 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 564877250b..a62fb3874b 100644
+--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
++++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+@@ -2758,6 +2758,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..5cce5f4ee4 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.42 free_aligned_sized F
++GLIBC_2.42 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 25a39d0943..02cf0375e2 100644
+--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
++++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+@@ -2777,6 +2777,8 @@ GLIBC_2.42 cfsetispeed F
+ GLIBC_2.42 cfsetobaud F
+ GLIBC_2.42 cfsetospeed F
+ GLIBC_2.42 cfsetspeed F
++GLIBC_2.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+ GLIBC_2.42 pthread_gettid_np F
+ GLIBC_2.42 uabs F
+ GLIBC_2.42 uimaxabs 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..b01ae6b82e 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.42 free_aligned_sized F
++GLIBC_2.42 free_sized F
+--
+2.50.0.rc2.701.gf1e915cc24-goog
+
--
2.50.0.727.gbf7dc18ff4-goog
More information about the Libc-alpha
mailing list