From patchwork Wed Jun 18 21:41:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin King X-Patchwork-Id: 114702 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B4C27381F5C3 for ; Wed, 18 Jun 2025 21:43:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B4C27381F5C3 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=eCYC8aCl X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pf1-x449.google.com (mail-pf1-x449.google.com [IPv6:2607:f8b0:4864:20::449]) by sourceware.org (Postfix) with ESMTPS id C456938C9FD4 for ; Wed, 18 Jun 2025 21:41:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C456938C9FD4 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=flex--jcking.bounces.google.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C456938C9FD4 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::449 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1750282910; cv=none; b=QdjUW4mFq+utBQdlLIMT5W2DxiqYe7eZC/l8pOG/+zxRUoUhFI/bE5fHwYCEemtL8dUcNv4y8AsdQOl5wdTmQtCh6XnhsnIhoKNLFA7sXBqDPRkhkt9jfZtqEp9Ns4PFGDoAS1IIcyZLcBfsgRj+XchCbtV6MWL0XZCXO/MPXfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1750282910; c=relaxed/simple; bh=ViEI34xtcTEVYx/FqYdDtop6UC8jtncmD1hxe+Zrhpc=; h=DKIM-Signature:Date:Mime-Version:Message-ID:Subject:From:To; b=KZXiwdabW88b3yRuytS05XZwL8DCfayd/pEri6HXFfbY5W0Oi7+J0k2s+rhOQ1M+5qHEIkGr0W7Ag4eGVYmzNCmPAGdGKfRdUCYp8qEyS3Vr2m1eBNyCR9q8kJJH4Foa2fHTTtS6Dpf2rhWxTp2nFsfHRuLS14wyg4XKbFa/mFc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C456938C9FD4 Received: by mail-pf1-x449.google.com with SMTP id d2e1a72fcca58-7489ac848f3so160244b3a.1 for ; Wed, 18 Jun 2025 14:41:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1750282909; x=1750887709; darn=sourceware.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=KNOTUJtLM4SwhNF38JWZeW73U/wL3eAuj0MJfWW4xvE=; b=eCYC8aClIiVIJmuC+W75MVsE2jHlqzyhnE/mF6OZPSqpAs/AfuvXz6hMdoYZANOF5O llpxNz+/xHwA4rdUHqXiJYthg7rRxmYy22hU1+hCp+XHYiDrT9VB4pWVpyZG6YXmyhdF aG20SL7PTK06RU9Uk52280Qb90VKXEuHp11twSPd4eT9GUwwOd+jmUKleIkA6pcwCNSM xQNZ4IXKe7mPM3ORm63luWxFW18/ZhXTJJijmpnAYH0AlIq9xwEldh/CsSrQnGsuAxR1 PlLzX4+d4m1G9skySITlAau59qDgJZVVmjSJGmSdIH7bCBOZXMb5t5kN2EKO+n69cRKc 1/Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750282909; x=1750887709; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=KNOTUJtLM4SwhNF38JWZeW73U/wL3eAuj0MJfWW4xvE=; b=QuvChss7Czr2TDF4vWbW67dnP2Chb4YOZSldZR/J/cnPrghiIiEtu+0OGh3LTw84mB xBcc9vJ0jRsgZzDJ93jsByXGLU8UNtJ5erWQCyEBdbFG+rs2uZGGb/y6LOcn5ql2nDM0 EdU8CqmFzPbd4EabXgpCYC3nerHBdqwQwFkfJbCaW1w+HsNmOn+Q6QSjV0lWqbMkrY7y zGHQ7Ck0XeBsfzUUx+oiaOKgbCgdYnGLZ5Vsayjq0qUVV+qhiDC5HTAWsStiEhs5/rpl NmrklrMx7eGG3rfxVdPDoi0GK7n2aPVwJ6vutfLglCpKSKB21TnFcRW3c64htjCBF2Il 6BjA== X-Gm-Message-State: AOJu0YzlNptACdfC4/VloW8AsNL2c7M4N8o1KVHVuqRb5qXvIvTHkPjb tFd4xD7m97bgXI84LUaw48W4VeGHX8bc4TlzYMjmbODhlVUHW5dcgXTxgrPfbQIJekLFGnj3FAa qZwMMv2NEE9fVdYnAd+9lohFTXkY0LhZwEWdPS1IwWbl+Z2PHwpGp9VMjjH4RzwuDQZMOFmXQCV Xuc0U25ggDs9IhELIChDDQMZ6TsvEyZF+oUUj9+pU9 X-Google-Smtp-Source: AGHT+IHCWC3y5IDzA36Spx11+jdYBDbj+ZyTCO/fej9+KXSkw8Aw1UtrSPvqR3a1PI1IG/l3zzKuY9y/ixM= X-Received: from pfbho10.prod.google.com ([2002:a05:6a00:880a:b0:746:2897:67e3]) (user=jcking job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:ac9:b0:748:2d1d:f7b7 with SMTP id d2e1a72fcca58-7489cffa98cmr26790456b3a.21.1750282908712; Wed, 18 Jun 2025 14:41:48 -0700 (PDT) Date: Wed, 18 Jun 2025 14:41:45 -0700 Mime-Version: 1.0 X-Mailer: git-send-email 2.50.0.rc2.701.gf1e915cc24-goog Message-ID: <20250618214145.480260-1-jcking@google.com> Subject: [PATCH] malloc: add free_sized and free_aligned_sized from C23 From: Justin King To: libc-alpha@sourceware.org Cc: Justin King X-Spam-Status: No, score=-19.8 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org Signed-off-by: Justin King --- 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..37403def03 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..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 + . */ + +#include +#include + +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 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 + . */ + +#include +#include + +static int +do_test (void) +{ + free_sized (NULL, 0); + + void *p = malloc (128); + free_sized (p, 128); + + return 0; +} + +#include diff --git a/manual/memory.texi b/manual/memory.texi index 46f76c17ca..8db85b5ac3 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..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