[PATCH v7 0/3] Add [v]aprintf(3)

Alejandro Colomar alx@kernel.org
Sat May 30 10:59:29 GMT 2026


Hi!

Changes in v7:

-  Improve the tests per Andreas's suggestion (remove volatile variable,
   and instead silence diagnostics).
-  I've also slightly changed that specific test, to prepare for when we
   remove EOVERFLOW.

I've tested (make && make check), and it shows no regressions:

	$ diff -u ../.tmp.master/tests.sum ../.tmp.aprintf/tests.sum 
	--- ../.tmp.master/tests.sum	2026-05-19 12:52:50.153152563 +0200
	+++ ../.tmp.aprintf/tests.sum	2026-05-30 12:52:05.800226493 +0200
	@@ -1950,6 +1950,7 @@
	 PASS: libio/test-fputs-unbuffered-full
	 PASS: libio/test-fputws-unbuffered-full
	 PASS: libio/test-freopen
	+PASS: libio/tst-aprintf
	 PASS: libio/tst-asprintf-null
	 PASS: libio/tst-atime
	 PASS: libio/tst-bz22415


Have a lovely day!
Alex


Alejandro Colomar (3):
  Add [v]aprintf(3)
  manual/: Prefer aprintf(3) over asprintf(3)
  sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c: Fix
    typo

 debug/Makefile                                |  4 +
 debug/Versions                                |  3 +
 debug/aprintf_chk.c                           | 51 +++++++++++++
 debug/vaprintf_chk.c                          | 39 ++++++++++
 include/stdio.h                               |  8 ++
 libio/Makefile                                |  4 +-
 libio/Versions                                |  3 +
 libio/bits/stdio-ldbl.h                       |  5 ++
 libio/bits/stdio2-decl.h                      |  8 ++
 libio/bits/stdio2.h                           | 42 +++++++++++
 libio/stdio.h                                 | 13 ++++
 libio/tst-aprintf.c                           | 73 +++++++++++++++++++
 libio/vaprintf.c                              | 39 ++++++++++
 manual/examples/rprintf.c                     |  4 +-
 manual/stdio.texi                             | 30 +++++++-
 manual/string.texi                            |  2 +-
 stdio-common/Makefile                         |  2 +
 stdio-common/Versions                         |  3 +
 stdio-common/aprintf.c                        | 40 ++++++++++
 sysdeps/ieee754/ldbl-128ibm-compat/Makefile   |  8 +-
 sysdeps/ieee754/ldbl-128ibm-compat/Versions   |  6 ++
 .../ldbl-128ibm-compat/ieee128-aprintf.c      | 36 +++++++++
 .../ldbl-128ibm-compat/ieee128-aprintf_chk.c  | 40 ++++++++++
 .../ldbl-128ibm-compat/ieee128-vaprintf.c     | 29 ++++++++
 .../ldbl-128ibm-compat/ieee128-vaprintf_chk.c | 31 ++++++++
 .../test-printf-chk-ldbl-compat.c             | 33 ++++++++-
 .../test-printf-ldbl-compat.c                 | 31 +++++++-
 sysdeps/ieee754/ldbl-opt/Makefile             |  6 ++
 sysdeps/ieee754/ldbl-opt/Versions             | 10 +++
 sysdeps/ieee754/ldbl-opt/nldbl-aprintf.c      | 17 +++++
 sysdeps/ieee754/ldbl-opt/nldbl-aprintf_chk.c  | 15 ++++
 sysdeps/ieee754/ldbl-opt/nldbl-compat.c       | 59 +++++++++++++++
 sysdeps/ieee754/ldbl-opt/nldbl-compat.h       |  5 ++
 sysdeps/ieee754/ldbl-opt/nldbl-vaprintf.c     |  9 +++
 sysdeps/ieee754/ldbl-opt/nldbl-vaprintf_chk.c |  8 ++
 sysdeps/mach/hurd/i386/libc.abilist           |  5 ++
 sysdeps/mach/hurd/x86_64/libc.abilist         |  5 ++
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  5 ++
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  5 ++
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  5 ++
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  5 ++
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  5 ++
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  5 ++
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  5 ++
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  5 ++
 .../sysv/linux/loongarch/lp64/libc.abilist    |  5 ++
 .../sysv/linux/m68k/coldfire/libc.abilist     |  5 ++
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  5 ++
 .../sysv/linux/microblaze/be/libc.abilist     |  5 ++
 .../sysv/linux/microblaze/le/libc.abilist     |  5 ++
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  5 ++
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  5 ++
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  5 ++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  5 ++
 sysdeps/unix/sysv/linux/or1k/libc.abilist     |  5 ++
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  5 ++
 .../powerpc/powerpc32/nofpu/libc.abilist      |  5 ++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  5 ++
 .../linux/powerpc/powerpc64/le/libc.abilist   |  5 ++
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  5 ++
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  5 ++
 sysdeps/unix/sysv/linux/s390/libc.abilist     |  5 ++
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  5 ++
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  5 ++
 .../sysv/linux/sparc/sparc32/libc.abilist     |  5 ++
 .../sysv/linux/sparc/sparc64/libc.abilist     |  5 ++
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  5 ++
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  5 ++
 68 files changed, 869 insertions(+), 12 deletions(-)
 create mode 100644 debug/aprintf_chk.c
 create mode 100644 debug/vaprintf_chk.c
 create mode 100644 libio/tst-aprintf.c
 create mode 100644 libio/vaprintf.c
 create mode 100644 stdio-common/aprintf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-aprintf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-aprintf_chk.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vaprintf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vaprintf_chk.c
 create mode 100644 sysdeps/ieee754/ldbl-opt/nldbl-aprintf.c
 create mode 100644 sysdeps/ieee754/ldbl-opt/nldbl-aprintf_chk.c
 create mode 100644 sysdeps/ieee754/ldbl-opt/nldbl-vaprintf.c
 create mode 100644 sysdeps/ieee754/ldbl-opt/nldbl-vaprintf_chk.c

Range-diff against v6:
1:  2cbdf65bd8bf ! 1:  f78192ebc9ce Add [v]aprintf(3)
    @@ Commit message
         Cc: Archie Cobbs <archie.cobbs@gmail.com>
         Cc: Solar Designer <solar@openwall.com>
         Cc: Sam James <sam@gentoo.org>
    +    Cc: Andreas Schwab <schwab@suse.de>
         Signed-off-by: Alejandro Colomar <alx@kernel.org>
     
      ## debug/Makefile ##
    @@ libio/tst-aprintf.c (new)
     +#include <stdio.h>
     +#include <support/check.h>
     +#include <sys/resource.h>
    ++#include <libc-diag.h>
     +
     +static int
     +do_test (void)
    @@ libio/tst-aprintf.c (new)
     +  free(buf);
     +
     +  {
    -+    /* Avoid -Wformat-overflow warning.  */
    -+    const char *volatile format = "%2000000000d %2000000000d";
    -+    buf = aprintf (format, 1, 2);
    ++    /* -Wformat-overflow warns that the format would produce more than
    ++       INT_MAX bytes; however, this function does not share this
    ++       inherent limitation of other printf-like functions.  The current
    ++       implementation fails with EOVERFLOW, because it's a trivial
    ++       wrapper; however, in the future we should improve the function so
    ++       that this doesn't fail anymore with EOVERFLOW.  When that is
    ++       implemented, this test will stop failing.  */
    ++    DIAG_PUSH_NEEDS_COMMENT;
    ++    DIAG_IGNORE_NEEDS_COMMENT (8, "-Wformat-overflow=");
    ++    buf = aprintf ("%2000000000d %2000000000d", 1, 2);
    ++    DIAG_POP_NEEDS_COMMENT;
    ++#if 0
    ++    if (buf == NULL)
    ++      TEST_VERIFY (errno == ENOMEM);
    ++#else
    ++    /* We should eventually not fail with EOVERFLOW from aprintf.  When
    ++       that happens, this test will fail.  Just remove it and enable the
    ++       test under '#if 0'.  */
     +    TEST_VERIFY (buf == NULL);
    ++    TEST_VERIFY (errno == EOVERFLOW);
    ++#endif
     +  }
    -+  if (errno != ENOMEM)
    -+    TEST_COMPARE (errno, EOVERFLOW);
     +
     +  /* Force ENOMEM in the test below.  */
     +  struct rlimit rl;
2:  ad7ab456d797 = 2:  734b3283b946 manual/: Prefer aprintf(3) over asprintf(3)
3:  2f43411a29e9 = 3:  afc64e006174 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c: Fix typo

base-commit: 9da7ad6d74700811c9b4c82b5f5eb555e39241a7
prerequisite-patch-id: fe50d2076bbc96fdad1ad9d0dca8a0e266c7e4b9
prerequisite-patch-id: e23646ae34643220e64657e92b5dd597ef9e78ad
prerequisite-patch-id: eac5abe79c2d57a63b61d242ce0ada4801edae16
prerequisite-patch-id: e44e62b902c3cf8f96993039e8b0a92fc05e1e08
prerequisite-patch-id: 8c356b45f4f51402f3df7399566ddb0eee425757
prerequisite-patch-id: edbc17d2e18f4e1381f1bb47f13c0f11abddb028
prerequisite-patch-id: 3563a4fdc23bc58e8f1806032b969502b77d12a0
prerequisite-patch-id: 45175fac9ef723e0a58fb34c52bc8fd472afb7ed
prerequisite-patch-id: c6a5eb61d7172efffc5fab6eb06f0d40b16ce136
prerequisite-patch-id: d431f3f37709d11166ff60e4358f5aed9fecf629
prerequisite-patch-id: fab91d0abd8d8043ebcf257dbb70069e647b781f
prerequisite-patch-id: 91fcf80ebe5fb45bc45c1f1816ef3fdacf58890f
prerequisite-patch-id: e4775207f93522c70c11626c3da6694615255cc5
prerequisite-patch-id: 836c8792b0fcc9cf2b5bfd8ffc206555a456b063
prerequisite-patch-id: 2a24fae4d6cfc2746ffec87dac197f238c316dc0
prerequisite-patch-id: bc0de7c44e9d7b84a9f3b115425a91c10bbc5caf
prerequisite-patch-id: 7dab039e992471a84b506a468ec96294e3c64dc8
prerequisite-patch-id: c1c9f855d596f926d8a3b92e100f8996433283f7
prerequisite-patch-id: dfca44af4388efa79f301706c6d1e2f82cca2342
prerequisite-patch-id: 58531c4f8f7ff8719b4ba4760d705aa324eb6d21
prerequisite-patch-id: 44fc3f03a26fd7c925c9aabd4ac1592f3bf5abb9
prerequisite-patch-id: 76cc0fe7ddfcde6960105bf9351bcc5eaa676798
prerequisite-patch-id: b5e3d3a85dd240f78f66e83922be0b87fb0d9c4f
prerequisite-patch-id: dabe9c09829f82beb2cf7f312fa6f9ba9ce5f31f
prerequisite-patch-id: 49f20afa65cbccb7dbd17aa2ee61edb63bd95f8b
prerequisite-patch-id: fe1bf8cbfe23e6d66c329cbcb1baee26a84f7e98
prerequisite-patch-id: 5037e83585671702cfeeab0f0a048b45a2305946
prerequisite-patch-id: 3763e2f14be096bb3b5c658ac9c56a7512c572bd
prerequisite-patch-id: e9a7efa8334425d7c2a6b9329420b3fccb194e90
prerequisite-patch-id: a939ca65cccd827d00d9eef2cb40a6aaa447cae7
prerequisite-patch-id: ff42bc6e158fc42eead5e8e91f65220493e9165c
prerequisite-patch-id: 018023f62ece38ae8691546a5d087a572e63a501
prerequisite-patch-id: 4d6464721bdec31e8d75954ba635f28695d03d1e
prerequisite-patch-id: ab31a6bb3c68491ea351bb160ad483ca9b8269de
prerequisite-patch-id: e759bd53bfc5d0cd2c0c28a5076afc4858e6f336
prerequisite-patch-id: 1f586357a353e69bb1c9dbae91120576bb61cd25
prerequisite-patch-id: 69d15e5df9a04327433ce43fc120fa93d46983d5
prerequisite-patch-id: 33e61127ab1fe5e773fa5894d614bf9ac0381851
prerequisite-patch-id: 9c77c4d1b2f7690ac2c2f4daa41c1ce6bc5dd3cc
prerequisite-patch-id: 14932d66f3f017c7f83467a71d716073db1255d2
prerequisite-patch-id: 6314b470723fea556a3bf5c78ab5434b9664b1c3
prerequisite-patch-id: 4c3659df9528b7cf78350f2de5e3b05e7f0b6d3b
prerequisite-patch-id: ed2928c346e43620c944958a6b2d8b60f9ddf40c
prerequisite-patch-id: 9669f5490d0883c6d697fef63143af0fa94c525c
prerequisite-patch-id: 1a7786648b24cd5904c8ecc0e77293f776a000f8
prerequisite-patch-id: f226b90b8fd61e63f2618a923183121787be11c0
prerequisite-patch-id: 8c1e8f868f925d9a99b9c3f67a6db0b751e10fed
prerequisite-patch-id: 8254d9dbf245578aaaff4ba66d013fb4f9fa917e
prerequisite-patch-id: 247cd54b3ea46079904b6241556cb5a8742d32e1
prerequisite-patch-id: 88b552b3cc93a6d80692643ba778a7e5591cd7ed
prerequisite-patch-id: 0cf6c8a8f2fded168ca566fd492a7e43b87faec3
prerequisite-patch-id: 1ce780361bbe6484fb4e01c7a70bb047acc8357e
prerequisite-patch-id: 7cbb6d4d7818d9d1be1a2940501bc51ae8a6076f
prerequisite-patch-id: 10242084157a8381ab7a8f072a9eb1783d8037da
prerequisite-patch-id: 6a4cf48d143cc5e85772a944c799e6942c731786
prerequisite-patch-id: a15b0f9cabfc387f3c48d992a5c8d40b1c0dbab8
prerequisite-patch-id: ee7053fa563cfc22fd40d38ad87ee1148c6e01ed
prerequisite-patch-id: 1eeddba9d5f527a72848c0b36d3786b5e7c9482c
prerequisite-patch-id: 802906d20c27d59e32d4c72bfaefa613c8da7aba
prerequisite-patch-id: 3cadf7cceb5973a4d790ae527b35b46075383100
prerequisite-patch-id: 429808f7dba0e4ee180a2c6fc47ca9b7b14c18e5
prerequisite-patch-id: 91dbdfdbaef452e5753d20ab42dc310da2b8674e
prerequisite-patch-id: a942f551f1fd195d17a03c446e25729d54455ed1
prerequisite-patch-id: a93f68cf7d4aaf41331890a25ee46a6d0bd6e1f3
prerequisite-patch-id: 12886c3c8ee24cb9eee331d4e6754c7636c1b38c
prerequisite-patch-id: 11783096be89fb4c43f90c3e841e883f51a00ff4
prerequisite-patch-id: 36bede004f31d7446763c3347dccfb8ef111c7f5
prerequisite-patch-id: 05b0a72b866da139ef78c4ad4064d325079fa531
prerequisite-patch-id: 1e3ed876911ce8ea3cc45b343b4ad3171ce90a03
prerequisite-patch-id: 2ca5beed61870b0dfa2119eccb76c0fd5caa8862
prerequisite-patch-id: 8e66815e05945a52d412410d99d7aba2227f45b6
prerequisite-patch-id: 9e78d13ad1d3e8470eab4cf40f78242ce9899f03
prerequisite-patch-id: 54ad39932fde148493ef4c3fd1a34338f9e8d5c3
prerequisite-patch-id: 9d12f800a079de1caa1ff7bfd230df6608483f03
prerequisite-patch-id: bcaeda2a764e9cd2500b5dbf02b5e16e6d90f4f7
prerequisite-patch-id: 4e3fb0ca4f65edbb8ef9bb81495238349e7187da
prerequisite-patch-id: 5360c482bb5bc5279d4553beb3f202c00b4b28bf
prerequisite-patch-id: 19c357b8bc0830cbb57f334d63bb0841549ee648
prerequisite-patch-id: 8bb58ad870391b7146130f880fb81f23ad5b3617
prerequisite-patch-id: ba3cd31af4a1664cb8367a1173dc93af2c44a896
prerequisite-patch-id: 442c0305e996f463d08dd726945b088f3f9620f3
prerequisite-patch-id: 48be2fef4eb990ed1260e319ea342ed66864642e
prerequisite-patch-id: 966d1e290f422cb2e92001bee5349fd7a4b225d2
prerequisite-patch-id: a2c6c9658ca35d12e3a65d68ac0c1e28b2b8abf5
prerequisite-patch-id: e6b9dfaebdb395cdcd4c83539726e6d74a7709a2
prerequisite-patch-id: 30a6bd1dddafe974547f932230438251789c77b6
prerequisite-patch-id: 2305aead5b2768b010ac0e442751f28c398e379c
prerequisite-patch-id: 943d82ffcc88b47ccfc0d1a659f6e985f71ac793
prerequisite-patch-id: 905532a23828069d07a830fafd5e9e6cfe088db2
prerequisite-patch-id: f8fcab19f50035765c29f4ede273f40b9a8241a0
prerequisite-patch-id: 5c495be312e71d0a9f0da8bddf6e24a3608a1863
prerequisite-patch-id: e2cd66e5489e1c357e4f8c460add2a96e1a3bfbe
prerequisite-patch-id: 8087dad5c0c0603a4287f92c7b222312371e2d3b
prerequisite-patch-id: d0eec5c6cf75579e4d4a45db15135ba8c59f56ad
prerequisite-patch-id: 380cd0696f24ad9d0fe366820657ea871e6a529b
prerequisite-patch-id: 8cb9386494766f37c19c2f327aa3dc43be6118fc
prerequisite-patch-id: d66a524fe246124b40282501cbaa4bc391dfa5cc
prerequisite-patch-id: 77579e5dbf7fcafeb3f0bc0a4e01b5ac155bba0e
prerequisite-patch-id: f4ddd462c477bcd07017006ad224c12771377ab3
prerequisite-patch-id: 17e382ccd3f95655c0b52ff392cfa13b5b53da47
prerequisite-patch-id: 403dba5e94603ec935fe07db7f1a400a5a891265
prerequisite-patch-id: bdac9be0171faca0fca519bd155075f648e3b8e4
prerequisite-patch-id: 49d35f828beb98af69819ca7a2f93f3e885becb2
prerequisite-patch-id: 953b856a8301434e37e9f6e3433495acbeaaf066
prerequisite-patch-id: e900f843c01acf2534d6ee1900544ff7648408d9
prerequisite-patch-id: 5750315cb2ae058169dc13481bf4d65747fd72a8
prerequisite-patch-id: 0dd64961a5b34434e5838969414381d6eef1701f
prerequisite-patch-id: 0e57bcc285868bbd3d165b7a3ee46c0b35e4c15c
prerequisite-patch-id: 5bc58c50f9323f87c31d92b674146a8fb9c4a6a8
prerequisite-patch-id: b24d9275b348956907ce7f36d037421e98b0ac25
prerequisite-patch-id: e03cbbcf10862a04ab85592307a4ae7be077a99a
prerequisite-patch-id: d5aa1d0ace33a719a9105f120d20b90dd047321c
prerequisite-patch-id: c74d2e99931a1f4e3ad4e23c5b57ba32e20d8a65
prerequisite-patch-id: 73fc6e8686c6c94814691e236efd242a131a654f
prerequisite-patch-id: eb5bdb2439f5f896aa782619c1a484070c1e5240
prerequisite-patch-id: 2df8b1c3697f3c8473efc75628cb9b5e3243fe03
prerequisite-patch-id: d43dca9fa2b0eed2edb22c84d8a3140ec4a65328
prerequisite-patch-id: 8e4711990d765c6b9677d820e8401602d2025662
prerequisite-patch-id: a61b0b5a95c686ff0cd456119c50cdb362ecbd0a
prerequisite-patch-id: 7ae2b3f98b6c5671500030b7bd8fb71577be4b50
prerequisite-patch-id: 6bb8550dae810bd57f6804d61e5bc2b28a063770
prerequisite-patch-id: 09505f717d3b6f98e4631574fba58aedb1f6ae5d
prerequisite-patch-id: fdccef70d3f324de5764ad481d978425b857ec9d
prerequisite-patch-id: fb0a19ea4baf2db0f2f4a987c320921ff7ec1c01
prerequisite-patch-id: 9581cd0bae5c1509484fe7c6f3947079aa3bab9b
prerequisite-patch-id: f26fa3cb1274fc1c2b0ecabbfcb224863dd0745f
prerequisite-patch-id: ef2cd1326a8f3345edf1b26692e25eb251d8ee5e
prerequisite-patch-id: b2d2e70b64dd39c4e1b3255714a216a032239507
prerequisite-patch-id: 2f55900a4e5fc96b49f9c298cbefec0af39a6648
prerequisite-patch-id: 10db75008b6de59ba47e36f634ea1161e3cdd822
prerequisite-patch-id: 93ec82e88466a5e9ea0d019b0c580f156977cc89
prerequisite-patch-id: 70c9543535c98bf8a9f1a0744a4bc31fb8488725
prerequisite-patch-id: 816a4a950b6060ada2b01396d9780bd12342ced0
prerequisite-patch-id: de6dff103d8a0299fae9faef81b635ddcacb87ee
prerequisite-patch-id: dba852a96123048bdd05553d9807e39b6ec52a35
prerequisite-patch-id: fe94c03b2ed5d2dcb57877bb81d731be4745b172
prerequisite-patch-id: ac59d89df60801421e490dcff77d0cf413798345
prerequisite-patch-id: c8ed0fe31bd7a014e39f86c110a7b687052aab75
prerequisite-patch-id: 64939c134372fb58a05aa951040cff78ce836150
prerequisite-patch-id: 239cbed9c485520ca438af107f99a3ad3bc31b37
prerequisite-patch-id: 39c3d54375683c3bccc105060d26709a8c16d84e
prerequisite-patch-id: ce8d1ee14fa9f9f2bd4f1e4582964b47c7596fe2
prerequisite-patch-id: c047bd79d51fc0e6fe70bc55736b43b3f77bbd99
prerequisite-patch-id: 7a545806c73a25fdaa293b2c4d8317e6ea739984
prerequisite-patch-id: 9effc7a52c588d19438d154bc3a336c91a44d149
prerequisite-patch-id: 0abd3f18dbf84d3ac697522d13e0a9db03b5873f
prerequisite-patch-id: 94d770d8a3630d7db40ef3e8aca3b1b781cf2c52
prerequisite-patch-id: cf368fe63372565f709edaf03f575abaad40ca8e
prerequisite-patch-id: 8127b0aa1d3d187e1d5a8076c3b2f51f820e5afa
prerequisite-patch-id: 21ad86b78ba614add4e35e8aa2e09edcdfe0b1f1
prerequisite-patch-id: 6a11b49c8d6c34022e762005143b0a1cc8405fc1
prerequisite-patch-id: 94988a7c3b2ab6c8a165a384a2977de3a60f80ef
prerequisite-patch-id: 2b5b5ec3cf6c0cad12891aebbff40e2e8670dea2
prerequisite-patch-id: 4eb48bfccfa26abfd045b17625fec027f637dd4e
prerequisite-patch-id: e75efc716ceab3f339ae41ed9b89aea8a34d4323
prerequisite-patch-id: 8eb9247a0cfaef530dfedcd3cbcad58bca0f766c
prerequisite-patch-id: 622c54227bae2ec9d7a0ad3ecf87fcab72e79a3f
prerequisite-patch-id: 3c3955bf8586a29aaa0efddbd96ef18d58135e45
prerequisite-patch-id: addfa4d7fd9c2fc255ad80fe665d25cf602f3edb
prerequisite-patch-id: 08e109fbdd57c1a2c9a6e5ca71d84d6aa5d3314e
prerequisite-patch-id: b8cd5ebd5ae4d882238e0038315da6f07405b983
prerequisite-patch-id: 0850eebf95ab75519346272cc6404dabd4ea02c2
prerequisite-patch-id: aa1f849b65af9df5523c791e77412e800a6a4148
prerequisite-patch-id: ab29973b045e7a32a0358ae157d08ee5b3606246
prerequisite-patch-id: 376f11d3307d0c155b1b5fb1cd9abc58425d3e54
prerequisite-patch-id: c782a9a400e681e7c42baacc1951849224dff2a2
prerequisite-patch-id: bb87aad0ee39f188b16e544068e5788c739b13df
prerequisite-patch-id: 8fd1a66515ce89888948394e183958b7180b8ce0
prerequisite-patch-id: e31c0d34c5e4c3284f4d2ec1feb017c43daf206a
prerequisite-patch-id: 77e5c2b398bc30d7bd8914ad5960dadb7aeab155
prerequisite-patch-id: 9d49050bc24ef3a8404b76a25bd487c69a1cc79c
prerequisite-patch-id: 6c8126d5b815be129d2d0e3ebce032191989978d
prerequisite-patch-id: bc153154eaecbe3a8227092f21f6fa71a886f2c8
prerequisite-patch-id: c571eacbec3ea5c6fcc3a040d18d3936105f7f34
prerequisite-patch-id: 9d1eeabaef0c178ca5d938906f8e24aff5470862
prerequisite-patch-id: 6e2187ec2ede7b152c8ce1a7d05c92aaf036072e
prerequisite-patch-id: 6ca3ef118b0d6107f2827a917985c64e6f8bf803
prerequisite-patch-id: e0f2735ba6739153f817254fe0a10906a1ba34a4
prerequisite-patch-id: bfbf5b08c24788a1f40b771f92f7fa95d660d9a1
-- 
2.53.0



More information about the Libc-alpha mailing list