[PATCH] malloc: add free_sized and free_aligned_sized from C23

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Fri Jun 20 15:01:53 GMT 2025



On 18/06/25 15:18, Justin King wrote:
> Signed-off-by: Justin King <jcking@google.com>

This has failed CI on armhf [1]:

FAIL: elf/check-abi-libc
original exit status 1
--- ../sysdeps/unix/sysv/linux/arm/le/libc.abilist      2025-06-19 05:19:27.003751428 +0000
+++ /home/tcwg-build/workspace/tcwg_gnu_0/abe/builds/armv8l-unknown-linux-gnueabihf/armv8l-unknown-linux-gnueabihf/glibc-glibc.git~master/libc.symlist  2025-06-19 06:09:42.636100154 +0000
@@ -2814,0 +2815,2 @@ GLIBC_2.42 cfsetspeed F
+GLIBC_2.42 free_aligned_sized F
+GLIBC_2.42 free_sized F
@@ -2893,2 +2894,0 @@ GLIBC_2.9 pipe2 F
-GLIBC_2.42 free_sized F
-GLIBC_2.42 free_aligned_sized F

FAIL: lint-makefiles
original exit status 1
--- /home/tcwg-build/workspace/tcwg_gnu_0/glibc/malloc/Makefile.expected
+++ /home/tcwg-build/workspace/tcwg_gnu_0/glibc/malloc/Makefile 2025-06-19 05:19:26.211747770 +0000
@@ -32,9 +32,7 @@
   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 \
@@ -68,6 +66,8 @@
   tst-tcfree1 tst-tcfree2 tst-tcfree3 tst-tcfree4 \
   tst-trim1 \
   tst-valloc \
+  tst-free-aligned-sized \
+  tst-free-sized \
 # tests

 tests-static := \
---
Tested 191 Makefiles and 1 were incorrectly sorted
Please use `patch -R -pN` and the output above to correct the sorting

[1] https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/3837/artifact/artifacts/artifacts.precommit/notify/mail-body.txt

I am not sure why other CI has not failed, but I see similar failures on all
ABIs.

Also, you seems to be sending multiple copies of the same message to libc-alpha,
which is confusing wrt which thread to reply and which patchwork version to
review.  And also please versioning each new patch submission.

> ---
>  conform/data/stdlib.h-data                    |  4 +++
>  malloc/Makefile                               |  2 ++
>  malloc/Versions                               |  3 ++
>  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 ++
>  72 files changed, 276 insertions(+)
>  create mode 100644 malloc/tst-free-aligned-sized.c
>  create mode 100644 malloc/tst-free-sized.c
> 
> diff --git a/conform/data/stdlib.h-data b/conform/data/stdlib.h-data
> index 0f6da09166..246a734ae1 100644
> --- a/conform/data/stdlib.h-data
> +++ b/conform/data/stdlib.h-data
> @@ -185,6 +185,10 @@ function {void*} valloc (size_t)
>  #endif
>  function size_t wcstombs (char*, const wchar_t*, size_t)
>  function int wctomb (char*, wchar_t)
> +#if defined ISO23
> +function void free_sized (void*, size_t)
> +function void free_aligned_sized (void*, size_t, size_t)
> +#endif
>  
>  #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
>  allow-header stddef.h
> diff --git a/malloc/Makefile b/malloc/Makefile
> index 2f232f9238..04a6a356da 100644
> --- a/malloc/Makefile
> +++ b/malloc/Makefile
> @@ -66,6 +66,8 @@ tests := \
>    tst-tcfree1 tst-tcfree2 tst-tcfree3 tst-tcfree4 \
>    tst-trim1 \
>    tst-valloc \
> +	tst-free-aligned-sized \
> +	tst-free-sized \
>  # tests
>  
>  tests-static := \
> diff --git a/malloc/Versions b/malloc/Versions
> index c763395c6d..604cbc8fc6 100644
> --- a/malloc/Versions
> +++ b/malloc/Versions
> @@ -67,6 +67,9 @@ libc {
>    GLIBC_2.33 {
>      mallinfo2;
>    }
> +  GLIBC_2.42 {
> +    free_sized; free_aligned_sized;
> +  }
>    GLIBC_PRIVATE {
>      # Internal startup hook for libpthread.
>      __libc_malloc_pthread_startup;
> diff --git a/malloc/malloc.c b/malloc/malloc.c
> index d28cd66faa..8214b65a16 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..9da3e172f6 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{???, 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{???, 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..4658f2a89d 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2767,3 +2767,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..6cae4b367f 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 4b5736a3b6..0505dd4359 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -3204,3 +3204,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..bbc437ae6d 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index b8a44784bd..6217157c02 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -2528,3 +2528,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..7a0103f80b 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 959e44672f..19c8146a1b 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -2893,3 +2893,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..180b9c1b19 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index a930d1a52b..8079aa4139 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -2890,3 +2890,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..180b9c1b19 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 6325fc12c4..59a0fb71c5 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -2804,3 +2804,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..2685348236 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 86b3fbdeec..4428a9c6c5 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2913,3 +2913,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..670127ccf3 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 6555592d86..f3bb1ee551 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -3096,3 +3096,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..65e2d49cee 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
> index a6cab9612a..f2a164e6f6 100644
> --- a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
> @@ -2288,3 +2288,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..160158c88e 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 7b7b72aa50..3a57e44436 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -2872,3 +2872,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..180b9c1b19 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index df398e43c6..0291a5c1ac 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -3039,3 +3039,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..65e2d49cee 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index ca8df6f4b0..839edf7a78 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2853,3 +2853,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..2eb48ac1bd 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 9508154847..172fa6cb07 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2850,3 +2850,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..2eb48ac1bd 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_sized F
> +GLIBC_2.42 free_aligned_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..c1b8c55740 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -3002,3 +3002,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..65e2d49cee 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_sized F
> +GLIBC_2.42 free_aligned_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..a0d69745f2 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -3000,3 +3000,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..65e2d49cee 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_sized F
> +GLIBC_2.42 free_aligned_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..c2f08b5cfe 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -3008,3 +3008,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..65e2d49cee 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_sized F
> +GLIBC_2.42 free_aligned_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..2da91b4dcc 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2910,3 +2910,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..bbc437ae6d 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/or1k/libc.abilist b/sysdeps/unix/sysv/linux/or1k/libc.abilist
> index b62d59f1af..c5f5820cdf 100644
> --- a/sysdeps/unix/sysv/linux/or1k/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/or1k/libc.abilist
> @@ -2278,3 +2278,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..c8f6d3d998 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_sized F
> +GLIBC_2.42 free_aligned_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..8974d054a2 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -3249,3 +3249,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..65e2d49cee 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_sized F
> +GLIBC_2.42 free_aligned_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..ecf055741b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -3294,3 +3294,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..65e2d49cee 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_sized F
> +GLIBC_2.42 free_aligned_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..c7701dc144 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -3003,3 +3003,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..d354874912 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_sized F
> +GLIBC_2.42 free_aligned_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..cc5582dd99 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2987,3 +2987,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..6cae4b367f 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 1771a2370c..143371b862 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -2531,3 +2531,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..183ad64a8e 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 4b48352fd9..149ff92b48 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2731,3 +2731,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..1f2f2d9b83 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_sized F
> +GLIBC_2.42 free_aligned_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..251ed49f03 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -3261,3 +3261,5 @@ GLIBC_2.9 pututline F
>  GLIBC_2.9 pututxline F
>  GLIBC_2.9 updwtmp F
>  GLIBC_2.9 updwtmpx F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..65e2d49cee 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_sized F
> +GLIBC_2.42 free_aligned_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..11b87e3105 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -3038,3 +3038,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..72095b6888 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index fb30341894..c53a8ee669 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2919,3 +2919,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..670127ccf3 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index d716673432..79b5c1f110 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2916,3 +2916,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..670127ccf3 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 6deedf216d..744becaad6 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -3268,3 +3268,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..65e2d49cee 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_sized F
> +GLIBC_2.42 free_aligned_sized F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 1ce22bf036..9aa65235b7 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2886,3 +2886,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..72095b6888 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_sized F
> +GLIBC_2.42 free_aligned_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..c30cd5bd18 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2835,3 +2835,5 @@ GLIBC_2.9 ns_name_skip F
>  GLIBC_2.9 ns_name_uncompress F
>  GLIBC_2.9 ns_name_unpack F
>  GLIBC_2.9 pipe2 F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..a0c7db451c 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_sized F
> +GLIBC_2.42 free_aligned_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..88d0aef11c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2782,3 +2782,5 @@ GLIBC_2.42 uabs F
>  GLIBC_2.42 uimaxabs F
>  GLIBC_2.42 ulabs F
>  GLIBC_2.42 ullabs F
> +GLIBC_2.42 free_sized F
> +GLIBC_2.42 free_aligned_sized 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..b9dc6ba495 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_sized F
> +GLIBC_2.42 free_aligned_sized F



More information about the Libc-alpha mailing list