]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - NEWS
advisories: Add Reported-By
[thirdparty/glibc.git] / NEWS
diff --git a/NEWS b/NEWS
index f26c3ba52fa133b4c84a2dcc04b9db1d247264da..da4b2223e946368018dfb5ad73532ebf7dd84181 100644 (file)
--- a/NEWS
+++ b/NEWS
 GNU C Library NEWS -- history of user-visible changes.
-Copyright (C) 1992-2022 Free Software Foundation, Inc.
+Copyright (C) 1992-2024 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
 using `glibc' in the "product" field.
 \f
+Version 2.40
+
+Major new features:
+
+* The <stdbit.h> header type-generic macros have been changed when using
+  GCC 14.1 or later to use __builtin_stdc_bit_ceil etc. built-in functions
+  in order to support unsigned __int128 and/or unsigned _BitInt(N) operands
+  with arbitrary precisions when supported by the target.
+
+* The GNU C Library now supports a feature test macro _ISOC23_SOURCE to
+  enable features from the ISO C23 standard.  Only some features from
+  this standard are supported by the GNU C Library.  The older name
+  _ISOC2X_SOURCE is still supported.  Features from C23 are also enabled
+  by _GNU_SOURCE, or by compiling with the GCC options -std=c23,
+  -std=gnu23, -std=c2x or -std=gnu2x.
+
+* A new tunable, glibc.rtld.enable_secure, used to run a program
+  as if it were a setuid process. This is currently a testing tool to allow
+  more extensive verification tests for AT_SECURE programs and not meant to
+  be a security feature.
+
+Deprecated and removed features, and other changes affecting compatibility:
+
+  [Add deprecations, removals and changes affecting compatibility here]
+
+Changes to build and runtime requirements:
+
+  [Add changes to build and runtime requirements here]
+
+Security related changes:
+
+The following CVEs were fixed in this release, details of which can be
+found in the advisories directory of the release tarball:
+
+  [The release manager will add the list generated by
+  scripts/process-advisories.sh just before the release.]
+
+The following bugs are resolved with this release:
+
+  [The release manager will add the list generated by
+  scripts/list-fixed-bugs.py just before the release.]
+\f
+Version 2.39
+
+Major new features:
+
+* A new tunable, glibc.cpu.plt_rewrite, can be used to enable PLT
+  rewrite on x86-64.  When enabled with non-lazy binding, the dynamic
+  linker will rewrite indirect branches in PLT with direct branches.
+
+* Sync with Linux kernel 6.6 shadow stack interface.  The --enable-cet
+  configure option is only supported on x86-64.
+
+* struct statvfs now has an f_type member, equal to the f_type statfs member;
+  on the Hurd this was always available under a reserved name,
+  and under Linux a spare has been allocated: it was always zero
+  in previous versions of glibc, and zero is not a valid result.
+
+* On Linux, the functions posix_spawnattr_getcgroup_np and
+  posix_spawnattr_setcgroup_np have been added, along with the
+  POSIX_SPAWN_SETCGROUP flag.  They allow posix_spawn and posix_spawnp
+  to set the cgroupv2 in the new process in a race-free manner.  These
+  functions are GNU extensions and require a kernel with clone3 support.
+
+* On Linux, the pidfd_spawn and pidfd_spawp functions have been added.
+  They have a similar prototype and semantic as posix_spawn, but instead of
+  returning a process ID, they return a file descriptor that can be used
+  along other pidfd functions (like pidfd_send_signal, poll, or waitid).
+  The pidfd functionality avoids the issue of PID reuse with the traditional
+  posix_spawn interface.
+
+* On Linux, the pidfd_getpid function has been added.  It allows retrieving
+  the process ID associated with the process file descriptor created by
+  pid_spawn, fork_np, or pidfd_open.
+
+* scanf-family functions now support the wN format length modifiers for
+  arguments pointing to types intN_t, int_leastN_t, uintN_t or
+  uint_leastN_t (for example, %w32d to read int32_t or int_least32_t in
+  decimal, or %w32x to read uint32_t or uint_least32_t in hexadecimal)
+  and the wfN format length modifiers for arguments pointing to types
+  int_fastN_t or uint_fastN_t, as specified in draft ISO C2X.
+
+* A new tunable, glibc.mem.decorate_maps, can be used to add additional
+  information on underlying memory allocated by the glibc (for instance,
+  on thread stack created by pthread_create or memory allocated by
+  malloc).
+
+* The <stdbit.h> header has been added from ISO C2X, with
+  stdc_leading_zeros, stdc_leading_ones, stdc_trailing_zeros,
+  stdc_trailing_ones, stdc_first_leading_zero, stdc_first_leading_one,
+  stdc_first_trailing_zero, stdc_first_trailing_one, stdc_count_zeros,
+  stdc_count_ones, stdc_has_single_bit, stdc_bit_width, stdc_bit_floor
+  and stdc_bit_ceil function families, each having functions for
+  unsigned char, unsigned short, unsigned int, unsigned long int and
+  unsigned long long int, and a type-generic macro.
+
+* On AArch64 new symbols were added to libmvec and now math.h has
+  annotations to allow GCC 9 or newer to auto-vectorize calls to the
+  following scalar math functions when -ffast-math is specified:
+  acos, acosf, asin, asinf, atan, atanf, atan2, atan2f, cos, cosf,
+  exp, expf, exp10, exp10f, exp2, exp2f, expm1, expm1f, log, logf,
+  log10, log10f, log1p, log1pf, log2, log2f, sin, sinf, tan, tanf.
+
+Deprecated and removed features, and other changes affecting compatibility:
+
+* The ldconfig program now skips file names containing ';' or ending in
+  ".dpkg.tmp" or ".dpkg.new", to avoid examining temporary files created
+  by the RPM and dpkg package managers.
+
+* libcrypt has been removed from the GNU C Library.  The configure
+  options "--enable-crypt" and "--enable-nss-crypt" are no longer
+  available.  <crypt.h>, libcrypt.a, and libcrypt.so.1 will not be
+  installed.  For now <unistd.h> continues to declare the crypt
+  function by default, to avoid introducing vulnerabilities into
+  existing applications due to a missing prototype.  This declaration
+  is deprecated and may be removed in a future glibc release.
+
+  The replacement for libcrypt is libxcrypt, maintained separately from
+  GNU libc, but available under compatible licensing terms, and providing
+  binary backward compatibility with the former libcrypt.  It is currently
+  distributed from <https://github.com/besser82/libxcrypt/>.
+
+  As a consequence of this removal, GNU libc no longer makes any use of
+  the NSS cryptography library (Network Security Services; not to be
+  confused with Name Service Switch).  Distributors of binary packages
+  of GNU libc are advised to check whether their build processes can be
+  simplified.
+
+* The dynamic linker calls the malloc and free functions in more cases
+  during TLS access if a shared object with dynamic TLS is loaded and
+  unloaded.  This can result in an infinite recursion if a malloc
+  replacement library or its dependencies use dynamic TLS instead of
+  initial-exec TLS.
+
+* The ia64*-*-linux-gnu configurations are no longer supported.
+
+Changes to build and runtime requirements:
+
+* Building on LoongArch requires at a minimum binutils 2.41 for vector
+  instructions.
+
+Security related changes:
+
+The following CVEs were fixed in this release, details of which can be
+found in the advisories directory of the release tarball:
+
+  GLIBC-SA-2023-0002:
+    getaddrinfo: Stack read overflow in no-aaaa mode (CVE-2023-4527)
+
+  GLIBC-SA-2023-0003:
+    getaddrinfo: Potential use-after-free (CVE-2023-4806)
+
+  GLIBC-SA-2023-0004:
+    tunables: local privilege escalation through buffer overflow
+    (CVE-2023-4911)
+
+  GLIBC-SA-2024-0001:
+    syslog: Heap buffer overflow in __vsyslog_internal (CVE-2023-6246)
+
+  GLIBC-SA-2024-0002:
+    syslog: Heap buffer overflow in __vsyslog_internal (CVE-2023-6779)
+
+  GLIBC-SA-2024-0003:
+    syslog: Integer overflow in __vsyslog_internal (CVE-2023-6780)
+
+The following bugs are resolved with this release:
+
+  [14522] localedata: fy_DE: LC_IDENTIFICATION data looks weird
+  [19305] libc: qsort() should return early if (nmemb <= 1)
+  [19479] localedata: gbm_IN: new Garhwali Locale
+  [19924] dynamic-link: TLS performance degradation after dlopen
+  [19956] localedata: ssy_ER: rename from aa_ER@saaho
+  [21719] libc: stdlib/msort : optimizing merge sort
+  [22526] localedata: th_TH  LC_COLLATE does not use copy "iso14651_t1"
+  [23012] localedata: el_GR: Greece now uses the 24h format for time
+  [23172] localedata: miq_NI: Provide actually abbreviated month names
+  [24006] localedata: Cyclic dependencies via copy in locales
+  [24013] localedata: am_pm definitions for es_ES
+  [24386] localedata: crh_RU: new locale
+  [24877] localedata: [Redundant Data] Remove redundant data between
+    en_NZ and en_AU
+  [25868] localedata: Incorrect trailing spaces in weekday names for
+    nn_NO
+  [26752] localedata: Please add the new locale zgh_MA
+  [27069] dynamic-link: Need a way to tell if a tunable is set by user
+  [27163] localedata: Error on test glk_IR with localedef
+  [27312] localedata: su_ID: new Sundanese locale
+  [27547] manual: "Summary of malloc-Related Functions" shows wrong
+    argument order for  `aligned_alloc` and `memalign`
+  [27574] libc: glibc should probably not define __WORDSIZE=64 for
+    __sparcv9
+  [27601] localedata: License information update in
+    localedata/locales/ast_ES
+  [28558] localedata: it_IT LC_MONETARY outdated p_cs_precedes and
+    n_cs_precedes
+  [28787] localedata: Add information for Occitan
+  [29039] dynamic-link: Corrupt DTV after reuse of a TLS module ID
+    following dlclose with unused TLS
+  [29486] localedata: New Zealand locales (en_NZ & mi_NZ) first day of
+    week should be Monday
+  [29504] localedata: Incorrect/misleading Time Format For ms_MY (AM/PM)
+  [29506] localedata: UTF-8 HANGUL SYLLABLE bugs
+  [30349] libc: Support returning a pidfd from posix_spawn()
+  [30412] localedata: d_t_fmt in id_ID uses %r placeholder but am_pm and
+    t_fmt_ampm are undefined
+  [30605] localedata: New locale for Komi language
+  [30649] localedata: [PATCH] Add transliteration of common emojis to
+    smileys
+  [30694] locale: The iconv program no longer tells the user which given
+    encoding name was wrong
+  [30709] nscd: nscd fails to build with cleanup handler if built with
+    -fexceptions
+  [30737] libc: fdopendir() is not robust - returns bogus DIR* instead
+    of flagging an error
+  [30740] build: [m68k] undefined reference to
+    `_wordcopy_fwd_dest_aligned'
+  [30745] libc: Slight bug in cache info codes for x86
+  [30750] network: Unaligned accesses in resolver
+  [30773] math: [m68k] busybox awk is broken (lshift.S related)
+  [30789] libc: [2.38 Regression] sem_open will fail on multithreaded
+    scenarios when semaphore file doesn't exist (O_CREAT)
+  [30800] nscd: Improper assert in prune_cache triggers if clock jumps
+    backwards
+  [30804] libc: F_GETLK, F_SETLK, and F_SETLKW value change for
+    powerpc64 with -D_FILE_OFFSET_BITS=64
+  [30842] network: Stack read overflow in getaddrinfo in no-aaaa mode
+    (CVE-2023-4527)
+  [30843] network: potential use-after-free in getcanonname
+    (CVE-2023-4806)
+  [30854] localedata: Update locale data to Unicode 15.1.0
+  [30884] network: Memory leak in getaddrinfo after fix for bug 30843
+    (CVE-2023-5156)
+  [30932] libc: Fortify Source has false-positives when too many files
+    are open
+  [30945] malloc: Core affinity setting incurs lock contentions between
+    threads
+  [30960] math: signed integer overflow in
+    glibc/sysdeps/s390/fpu/feenablxcpt.c
+  [30964] locale: Number grouping check mishandles multibyte thousands
+    separator
+  [30981] dynamic-link: dlclose does not properly implement force-first
+    handling
+  [30988] math: fesetexcept raises floating-point exception traps on
+    ppc, ppc64, ppc64le
+  [30989] math: fesetexcept raises floating-point exception traps on
+    i386
+  [30990] libc: fesetexceptflag raises floating-point exception traps on
+    i386, x86_64
+  [30998] math: fesetexceptflag clears too many floating-point exception
+    flags on alpha
+  [31019] manual: The documentation of feenableexcept is incomplete
+  [31022] math: feupdateenv (FE_DFL_ENV) crashes on riscv
+  [31035] libc: Library search path terminates on relative non-directory
+    name
+  [31042] libc: [s390x] .init and .fini padding
+  [31068] libc: sysdeps: sparc: invalid data access in memset due to
+    regression
+  [31078] manual: Code example in "Noncanonical Mode Example" has unused
+    'char *name;'
+  [31086] localedata: Errors in Tibetan, Dzongkha data
+  [31113] string: Wrong unwind information for rawmemchr on aarch64
+  [31151] libc: [RISC-V] missing support for profile/audit PLT setup
+  [31163] nss: getaddrinfo returns EAI_NONAME in oom situation
+  [31183] stdio: Wide stream buffer size reduced MB_LEN_MAX bytes after
+    bug 17522 fix
+  [31184] dynamic-link: FAIL: elf/tst-tlsgap
+  [31185] dynamic-link: Incorrect thread point access in
+    _dl_tlsdesc_undefweak and _dl_tlsdesc_dynamic
+  [31187] dynamic-link: Some CET tests fail with GCC 14
+  [31204] localedata: Fix decimal point and thousands separator for
+    uz_UZ
+  [31205] localedata: Inconsistent (mon_)grouping formats
+  [31218] dynamic-link: PLT rewrite overflows large displacement on x32
+  [31221] localedata: Add localedata for ISO code "tok" (Toki Pona)
+  [31230] dynamic-link: PLT rewrite failed without SELinux
+  [31239] localedata: anp_IN locale: abbreviated month names are the
+    same as the full month names
+  [31244] nptl: pthread_cancel hangs on sparc32
+  [31257] localedata: Sync with  CLDR: “Turkey” -> “Türkiye”
+  [31266] string: sparc: string/tst-memmove-overflow fails on 32-bit
+    sparcv9
+  [31276] libc: Wrong condition for heap allocation in qsort_r
+\f
+Version 2.38
+
+Major new features:
+
+* When C2X features are enabled and the base argument is 0 or 2, the
+  following functions support binary integers prefixed by 0b or 0B as
+  input: strtol, strtoll, strtoul, strtoull, strtol_l, strtoll_l,
+  strtoul_l, strtoull_l, strtoimax, strtoumax, strtoq, strtouq, wcstol,
+  wcstoll, wcstoul, wcstoull, wcstol_l, wcstoll_l, wcstoul_l,
+  wcstoull_l, wcstoimax, wcstoumax, wcstoq, wcstouq.  Similarly, the
+  following functions support binary integers prefixed by 0b or 0B as
+  input to the %i format: fscanf, scanf, sscanf, vscanf, vsscanf,
+  vfscanf, fwscanf, wscanf, swscanf, vfwscanf, vwscanf, vswscanf; those
+  functions also support the %b format for binary integers, with or
+  without such a prefix and independent of standards mode.
+
+* PRIb*, PRIB* and SCNb* macros from C2X have been added to
+  <inttypes.h>.
+
+* printf-family functions now support the wN format length modifiers for
+  arguments of type intN_t, int_leastN_t, uintN_t or uint_leastN_t (for
+  example, %w32d to print int32_t or int_least32_t in decimal, or %w32x
+  to print uint32_t or uint_least32_t in hexadecimal) and the wfN format
+  length modifiers for arguments of type int_fastN_t or uint_fastN_t, as
+  specified in draft ISO C2X.
+
+* A new tunable, glibc.pthread.stack_hugetlb, can be used to disable
+  Transparent Huge Pages (THP) in stack allocation at pthread_create.
+
+* Support for x86_64 running on Hurd has been added.  This port requires
+  as least binutils 2.40 and GCC 13:
+
+    - x86_64-gnu
+
+* Vector math library libmvec support has been added to AArch64.  It
+  requires GCC version >= 10.1.0.  It can be disabled via
+  "--disable-mathvec", however that is not a supported configuration as
+  it changes the ABI. The symbol names follow the AArch64 vector ABI,
+  they are declared in math.h and have to be called manually at this point.
+
+* The strlcpy and strlcat functions have been added.  They are derived
+  from OpenBSD, and are expected to be added to a future POSIX version.
+
+* A new configure option, "--enable-fortify-source", can be used to build the
+  GNU C Library with _FORTIFY_SOURCE. The level of fortification can either be
+  provided, or is set to the highest value supported by the compiler. If not
+  explicitly enabled, then fortify source is forcibly disabled so to keep
+  original behavior unchanged.
+
+Deprecated and removed features, and other changes affecting compatibility:
+
+* libcrypt is no longer built by default; one may use the "--enable-crypt"
+  option to build libcrypt.  libcrypt is likely to be removed from the
+  GNU C Library in a future release, so it is recommended that
+  applications port away from it to an alternative such as libxcrypt.
+
+* In the Linux kernel for the hppa/parisc architecture some of the
+  MADV_XXX constants were changed to have the same values as the other
+  architectures.  New programs compiled with this glibc version and which
+  use the madvise call will require at least Linux kernel version 6.2,
+  alternatively stable kernels from versions 6.1.6, 5.15.87, 5.10.163,
+  5.4.228, 4.19.270 or 4.14.303.
+
+* The "--disable-experimental-malloc" option is no longer available.  The
+  per-thread cache can still be disabled per-application using tunables
+  (glibc.malloc.tcache_count set to zero).
+
+* The configure option "--enable-tunables" has been removed.  The tunable
+  feature is now always enabled.
+
+Changes to build and runtime requirements:
+
+* Building libmvec on AArch64 requires at a minimum GCC 10.1.0 for SVE
+  ACLE.
+
+Security related changes:
+
+  CVE-2023-25139: When the printf family of functions is called with a
+  format specifier that uses an <apostrophe> (enable grouping) and a
+  minimum width specifier, the resulting output could be larger than
+  reasonably expected by a caller that computed a tight bound on the
+  buffer size.  The resulting larger than expected output could result
+  in a buffer overflow in the printf family of functions.
+
+The following bugs are resolved with this release:
+
+  [178] string: Please add strlcpy and strlcat (attached)
+  [14697] nptl: Behavior of exit is nonconformant with respect to
+    threads and stdio
+  [15142] stdio: Missing locking in _IO_cleanup
+  [18096] glob: null deref in wordexp/parse_dollars/parse_arith
+  [18906] stdio: fopen: ccs value may affect open mode
+  [24466] stdio: Feature request: provide special printf formats for
+    intXX_t
+  [25457] nss: hosts lookup fails for ipv4mapped ipv6 addresses
+  [28519] libc: system and popen should pass "--" between /bin/sh and
+    argument
+  [29016] stdio: popen() sets errno to ENOMEM when shell does not exist
+  [29591] string: wcsnlen length can overflow in page cross case.
+  [30053] time: strftime %s returns -1 after 2038 on 32 bits systems
+  [30068] stdio: incorrect printf output for integers with thousands
+    separator and width field (CVE-2023-25139)
+  [30111] time: support_descriptors_list fails after 2038 on 32 bits
+    systems
+  [30125] dynamic-link: [regression, bisected] glibc-2.37 creates new
+    symlink for libraries without soname
+  [30130] math: [s390] The _FPU_SETCW macro yields compile error with
+    Clang
+  [30156] time: Potential ntp_gettime abi break
+  [30235] libc: Missing fallback in getlogin if loginuid is unset
+  [30258] dynamic-link: sprof cannot read and display shared object
+    profiling data correctly
+  [30263] libc: Add test coverage for abs(), labs(), and llabs().
+  [30305] math: Incorrect asm constraint in feraiseexcept on x86-64
+  [30402] libc: FAIL: elf/tst-glibcelf
+  [30425] dynamic-link: Symbol lookup during dlclose may fail
+    unnecessarily
+  [30435] dynamic-link: Root dir wrongly marked as nonexist in open_path
+  [30477] libc: [RISCV]: time64 does not work on riscv32
+  [30515] dynamic-link: _dl_find_object incorrectly returns 1 during
+    early startup
+  [30527] network: resolv_conf lock not unlocked on allocation failure
+  [30550] math: powerpc64le: GCC-specific code for isinf() is being used
+    on clang
+  [30555] string: strerror can incorrectly return NULL
+  [30579] malloc: trim_threshold in realloc lead to high memory usage
+  [30662] nscd: Group and password cache use errno in place of errval
+\f
+Version 2.37
+
+Major new features:
+
+* The getent tool now supports the --no-addrconfig option. The output of
+  getent with --no-addrconfig may contain addresses of families not
+  configured on the current host i.e. as-if you had not passed
+  AI_ADDRCONFIG to getaddrinfo calls.
+
+Deprecated and removed features, and other changes affecting compatibility:
+
+* The dynamic linker no longer loads shared objects from the "tls"
+  subdirectories on the library search path or the subdirectory that
+  corresponds to the AT_PLATFORM system name, or employs the legacy AT_HWCAP
+  search mechanism, which was deprecated in version 2.33.
+
+Security related changes:
+
+  CVE-2022-39046: When the syslog function is passed a crafted input
+  string larger than 1024 bytes, it reads uninitialized memory from the
+  heap and prints it to the target log file, potentially revealing a
+  portion of the contents of the heap.
+
+The following bugs are resolved with this release:
+
+  [12154] network: Cannot resolve hosts which have wildcard aliases
+  [12165] libc: readdir: Do not skip entries with zero d_ino values
+  [19444] build: build failures with -O1 due to -Wmaybe-uninitialized
+  [24774] nptl: pthread_rwlock_timedwrlock stalls on ARM
+  [24816] nss: nss/tst-nss-files-hosts-long fails when no interface has
+    AF_INET6 address (ie docker)
+  [27087] stdio: PowerPC: Redefinition error with Clang from IEEE
+    redirection headers
+  [28846] network: CMSG_NXTHDR may trigger -Wstrict-overflow warning
+  [28937] dynamic-link: New DSO dependency sorter does not put new map
+    first if in a cycle
+  [29249] libc: csu/libc-tls.c:202: undefined reference to
+    `_startup_fatal_not_constant'
+  [29305] network: Inefficient buffer space usage in nss_dns for
+    gethostbyname and other functions
+  [29375] libc: don't hide MAP_ANONYMOUS behind _GNU_SOURCE
+  [29402] nscd: nscd: No such file or directory
+  [29415] nscd: getaddrinfo with AI_ADDRCONFIG returns addresses with
+    wrong family
+  [29427] dynamic-link: Inconsistency detected by ld.so: dl-printf.c:
+    200: _dl_debug_vdprintf: Assertion `! "invalid format specifier"'
+    failed!
+  [29463] math: math/test-float128-y1 fails on x86_64
+  [29485] build: Make hangs when the test misc/tst-pidfile returns
+    FAIL_UNSUPPORTED
+  [29490] dynamic-link: [bisected] new __brk_call causes dynamic loader
+    segfault on alpha
+  [29499] build: Check failed on misc/tst-glibcsyscalls while building
+    for RISCV64 on a unmatched hardware
+  [29501] build: Check failed on stdlib/tst-strfrom while building for
+    RISCV64 on a unmatched hardware
+  [29502] libc: alpha sys/acct.h out of date
+  [29514] build: Need to use -fPIE not -fpie
+  [29528] dynamic-link: __libc_early_init not called after dlmopen that
+    reuses namespace
+  [29536] libc: syslog fail to create large messages (CVE-2022-39046)
+  [29537] libc: [2.34 regression]: Alignment issue on m68k when using
+    futexes on qemu-user
+  [29539] libc: LD_TRACE_LOADED_OBJECTS changed how vDSO library are
+    printed
+  [29544] libc: Regression in syslog(3) calls breaks RFC due to extra
+    whitespace
+  [29564] build: Incorrect way to change MAKEFLAGS in Makerules
+  [29576] build: librtld.os: in function `_dl_start_profile':
+    (.text+0x9444): undefined reference to `strcpy'
+  [29578] libc: Definition of SUN_LEN() is wrong
+  [29583] build: iconv failures on 32bit platform due to missing large
+    file support
+  [29600] dynamic-link: dlmopen hangs after loading certain libraries
+  [29604] localedata: Update locale data to Unicode 15.0.0
+  [29605] nscd: Regression in NSCD backend of getaddrinfo
+  [29607] nscd: nscd repeatably crashes calling __strlen_avx2 when hosts
+    cache is enabled
+  [29611] string: Optimized AVX2 string functions unconditionally use
+    BMI2 instructions
+  [29624] malloc: errno is not cleared when entering main
+  [29638] libc: stdlib: arc4random fallback is never used
+  [29657] libc: Incorrect struct stat for 64-bit time on linux/generic
+    platforms
+  [29698] build: Configuring for AArch32 on ARMv8+ disables
+    optimizations
+  [29727] locale: __strtol_internal out-of-bounds read when parsing
+    thousands grouping
+  [29730] libc: broken y2038 support in fstatat on MIPS N64
+  [29746] libc: ppoll() does not switch to __ppoll64 when
+    -D_TIME_BITS=64 and -D_FORTIFY_SOURCE=2 is given on 32bit
+  [29771] libc: Restore IPC_64 support in sysvipc *ctl functions
+  [29780] build: possible parallel make issue in glibc-2.36 (siglist-
+    aux.S: No such file or directory)
+  [29864] libc: __libc_start_main() should obtain program headers
+    address (_dl_phdr) from the auxv, not the ELF header.
+  [29951] time: daylight variable not set correctly if last DST change
+    coincides with offset change
+  [30039] stdio: __vsprintf_internal does not handle unspecified buffer
+    length in fortify mode
+\f
+Version 2.36
+
+Major new features:
+
+* Support for DT_RELR relative relocation format has been added to
+  glibc.  This is a new ELF dynamic tag that improves the size of
+  relative relocations in shared object files and position independent
+  executables (PIE).  DT_RELR generation requires linker support for
+  -z pack-relative-relocs option, which is supported for some targets
+  in recent binutils versions.  Lazy binding doesn't apply to DT_RELR.
+
+* On Linux, the pidfd_open, pidfd_getfd, and pidfd_send_signal functions
+  have been added.  The pidfd functionality provides access to a process
+  while avoiding the issue of PID reuse on traditional Unix systems.
+
+* On Linux, the process_madvise function has been added. It has the
+  same functionality as madvise but alters the target process identified
+  by the pidfd.
+
+* On Linux, the process_mrelease function has been added.  It allows a
+  caller to release the memory of a dying process.  The release of the
+  memory is carried out in the context of the caller, using the caller's
+  CPU affinity, and priority with CPU usage accounted to the caller.
+
+* The “no-aaaa” DNS stub resolver option has been added.  System
+  administrators can use it to suppress AAAA queries made by the stub
+  resolver, including AAAA lookups triggered by NSS-based interfaces
+  such as getaddrinfo.  Only DNS lookups are affected: IPv6 data in
+  /etc/hosts is still used, getaddrinfo with AI_PASSIVE will still
+  produce IPv6 addresses, and configured IPv6 name servers are still
+  used.  To produce correct Name Error (NXDOMAIN) results, AAAA queries
+  are translated to A queries.  The new resolver option is intended
+  primarily for diagnostic purposes, to rule out that AAAA DNS queries
+  have adverse impact.  It is incompatible with EDNS0 usage and DNSSEC
+  validation by applications.
+
+* On Linux, the fsopen, fsmount, move_mount, fsconfig, fspick, open_tree,
+  and mount_setattr have been added.  They are part of the new Linux kernel
+  mount APIs that allow applications to more flexibly configure and operate
+  on filesystem mounts.  The new mount APIs are specifically designed to work
+  with namespaces.
+
+* localedef now accepts locale definition files encoded in UTF-8.
+  Previously, input bytes not within the ASCII range resulted in
+  unpredictable output.
+
+* Support for the mbrtoc8 and c8rtomb multibyte/UTF-8 character conversion
+  functions has been added per the ISO C2X N2653 and C++20 P0482R6 proposals.
+  Support for the char8_t typedef has been added per the ISO C2X N2653
+  proposal.  The functions are declared in uchar.h in C2X mode or when the
+  _GNU_SOURCE macro or C++20 __cpp_char8_t feature test macro is defined.
+  The char8_t typedef is declared in uchar.h in C2X mode or when the
+  _GNU_SOURCE macro is defined and the C++20 __cpp_char8_t feature test macro
+  is not defined (if __cpp_char8_t is defined, then char8_t is a builtin type).
+
+* The functions arc4random, arc4random_buf, and arc4random_uniform have been
+  added.  The functions wrap getrandom and/or /dev/urandom to return high-
+  quality randomness from the kernel.
+
+* Support for LoongArch running on Linux has been added.  This port requires
+  as least binutils 2.38, GCC 12, and Linux 5.19.  Currently only hard-float
+  ABI is supported:
+
+    - loongarch64-linux-gnu
+
+  The LoongArch ABI is 64-bit little-endian.
+
+Deprecated and removed features, and other changes affecting compatibility:
+
+* Support for prelink will be removed in the next release; this includes
+  removal of the LD_TRACE_PRELINKING, and LD_USE_LOAD_BIAS, environment
+  variables and their functionality in the dynamic loader.
+
+* The Linux kernel version check has been removed along with the
+  LD_ASSUME_KERNEL environment variable.  The minimum kernel used to built
+  glibc is still provided through NT_GNU_ABI_TAG ELF note and also printed
+  when libc.so is issued directly.
+
+* On Linux, The LD_LIBRARY_VERSION environment variable has been removed.
+
+The following bugs are resolved with this release:
+
+  [14932] dynamic-link: dlsym(handle, "foo") and dlsym(RTLD_NEXT, "foo")
+    return different result with versioned "foo"
+  [16355] libc: syslog.h's SYSLOG_NAMES namespace violation and utter
+    mess
+  [23293] dynamic-link: aarch64: getauxval is broken when run as ld.so
+    ./exe and ld.so adjusts argv on the stack
+  [24595] nptl: [2.28 Regression]: Deadlock in atfork handler which
+    calls dlclose
+  [25744] locale: mbrtowc with Big5-HKSCS returns 2 instead of 1 when
+    consuming the second byte of certain double byte characters
+  [25812] stdio: Libio vtable protection is sometimes only partially
+    enforced
+  [27054] libc: pthread_atfork handlers that call pthread_atfork
+    deadlock
+  [27924] dynamic-link: ld.so: Support DT_RELR relative relocation
+    format
+  [28128] build: declare_symbol_alias doesn't work for assembly codes
+  [28566] network: getnameinfo with NI_NOFQDN is not thread safe
+  [28752] nss: Segfault in getpwuid when stat fails
+  [28815] libc: realpath should not copy to resolved buffer on error
+  [28828] stdio: fputwc crashes
+  [28838] libc: FAIL: elf/tst-p_align3
+  [28845] locale: ld-monetary.c should be updated to match ISO C and
+    other standards.
+  [28850] libc: linux: __get_nprocs_sched reads uninitialized memory
+    from the stack
+  [28852] libc: getaddrinfo leaks memory with AI_ALL
+  [28853] libc: tst-spawn6 changes current foreground process group
+    (breaks test isolation)
+  [28857] libc: FAIL: elf/tst-audit24a
+  [28860] build: --enable-kernel=5.1.0 build fails because of missing
+    __convert_scm_timestamps
+  [28865] libc: linux: _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN are
+    inaccurate without /sys and /proc
+  [28868] dynamic-link: Dynamic loader DFS algorithm segfaults on
+    missing libraries
+  [28880] libc: Program crashes if date beyond 2038
+  [28883] libc: sysdeps/unix/sysv/linux/select.c: __select64
+    !__ASSUME_TIME64_SYSCALLS && !__ASSUME_PSELECT fails on Microblaze
+  [28896] string: strncmp-avx2-rtm and wcsncmp-avx2-rtm fallback on non-
+    rtm variants when avoiding overflow
+  [28922] build: The .d dependency files aren't always generated
+  [28931] libc: hosts lookup broken for SUCCESS=CONTINUE and
+    SUCCESS=MERGE
+  [28936] build: nm: No such file
+  [28950] localedata: Add locale for ISO code "tok" (Toki Pona)
+  [28953] nss: NSS lookup result can be incorrect if function lookup
+    clobbers errno
+  [28970] math: benchtest: libmvec benchmark doesn't build with make
+    bench.
+  [28991] libc: sysconf(_SC_NPROCESSORS_CONF) should read
+    /sys/devices/system/cpu/possible
+  [28993] libc: closefrom() iterates until max int if no access to
+    /proc/self/fd/
+  [28996] libc: realpath fails to copy partial result to resolved buffer
+    on ENOENT and EACCES
+  [29027] math: [ia64] fabs fails with sNAN input
+  [29029] nptl: poll() spuriously returns EINTR during thread
+    cancellation and with cancellation disabled
+  [29030] string: GLIBC 2.35 regression - Fortify crash on certain valid
+    uses of mbsrtowcs (*** buffer overflow detected ***: terminated)
+  [29062] dynamic-link: Memory leak in _dl_find_object_update if object
+    is promoted to global scope
+  [29069] libc: fstatat64_time64_statx wrapper broken on MIPS N32 with
+    -D_FILE_OFFSET_BITS=64 and -D_TIME_BITS=64
+  [29071] dynamic-link: m68k: Removal of ELF_DURING_STARTUP optimization
+    broke ld.so
+  [29097] time: fchmodat does not handle 64 bit time_t for
+    AT_SYMLINK_NOFOLLOW
+  [29109] libc: posix_spawn() always returns 1 (EPERM) on clone()
+    failure
+  [29141] libc: _FORTIFY_SOURCE=3 fail for gcc 12/glibc 2.35
+  [29162] string: [PATCH] string.h syntactic error:
+    include/bits/string_fortified.h:110: error: expected ',' or ';'
+    before '__fortified_attr_access'
+  [29165] libc: [Regression] broken argv adjustment
+  [29187] dynamic-link: [regression] broken argv adjustment for nios2
+  [29193] math: sincos produces a different output than sin/cos
+  [29197] string: __strncpy_power9() uses uninitialised register vs18
+    value for filling after \0
+  [29203] libc: daemon is not y2038 aware
+  [29204] libc: getusershell is not 2038 aware
+  [29207] libc: posix_fallocate fallback implementation is not y2038
+    aware
+  [29208] libc: fpathconf(_PC_ASYNC_IO) is not y2038 aware
+  [29209] libc: isfdtype is not y2038 aware
+  [29210] network: ruserpass is not y2038 aware
+  [29211] libc: __open_catalog is not y2038 aware
+  [29213] libc: gconv_parseconfdir is not y2038 aware
+  [29214] nptl: pthread_setcanceltype fails to set type
+  [29225] network: Mistyped define statement in socket/sys/socket.h in
+    line 184
+  [29274] nptl: __read_chk is not a cancellation point
+  [29279] libc: undefined reference to `mbstowcs_chk' after
+    464d189b9622932a75302290625de84931656ec0
+  [29304] libc: mq_timedreceive does not handle 64 bit syscall return
+    correct for !__ASSUME_TIME64_SYSCALLS
+  [29403] libc: st_atim, st_mtim, st_ctim stat struct members are
+    missing on microblaze with largefile
+\f
 Version 2.35
 
 Major new features:
@@ -129,10 +823,9 @@ Major new features:
 * On Linux, the epoll_pwait2 function has been added.  It is similar to
   epoll_wait with the difference the timeout has nanoseconds resolution.
 
-* The functions posix_spawnattr_tcsetpgrp_np and posix_spawnattr_tcgetpgrp_np
-  have been added, enabling posix_spawn and posix_spawnp to set the
-  controlling terminal in the new process in a race free manner.  These
-  functions are GNU extensions.
+* The function posix_spawn_file_actions_addtcsetpgrp_np has been added,
+  enabling posix_spawn and posix_spawnp to set the controlling terminal in
+  the new process in a race free manner.  This function is a GNU extension.
 
 * Source fortification (_FORTIFY_SOURCE) level 3 is now available for
   applications compiling with glibc and gcc 12 and later. Level 3 leverages
@@ -140,6 +833,9 @@ Major new features:
   fortification balanced against additional runtime cost (checking non-constant
   bounds).
 
+* The audit libraries will avoid unnecessary slowdown if it is not required
+  PLT tracking (by not implementing the la_pltenter or la_pltexit callbacks).
+
 Deprecated and removed features, and other changes affecting compatibility:
 
 * On x86-64, the LD_PREFER_MAP_32BIT_EXEC environment variable support
@@ -168,17 +864,25 @@ Deprecated and removed features, and other changes affecting compatibility:
   removal of the LD_TRACE_PRELINKING, and LD_USE_LOAD_BIAS, environment
   variables and their functionality in the dynamic loader.
 
+* The LD_TRACE_PRELINKING environment variable has been removed.  Similar
+  functionality to obtain the program mapping address can be achieved by
+  using LD_TRACE_LOADED_OBJECTS to value of 2.
+
+* The LD_USE_LOAD_BIAS has been removed.  The variable was mainly used to
+  support prelink PIE binaries.
+
+Changes to build and runtime requirements:
+
 * The audit module interface version LAV_CURRENT is increased to enable
   proper bind-now support.  The loader now advertises via the la_symbind
-  flags that PLT trace is not possible.
+  flags that PLT trace is not possible.  New audit modules require the
+  new dynamic loader supporting the latest LAV_CURRENT version. Old audit
+  modules are still loaded for all targets except aarch64.
 
 * The audit interface on aarch64 is extended to support both the indirect
   result location register (x8) and NEON Q register.  Old audit modules are
-  rejected by the loader.
-
-Changes to build and runtime requirements:
-
-  [Add changes to build and runtime requirements here]
+  rejected by the loader.  Audit modules must be rebuilt to use the newer
+  structure sizes and the latest module interface version for LAV_CURRENT.
 
 Security related changes:
 
@@ -201,8 +905,140 @@ Security related changes:
 
 The following bugs are resolved with this release:
 
-  [The release manager will add the list generated by
-  scripts/list-fixed-bugs.py just before the release.]
+  [12889] nptl: Race condition in pthread_kill
+  [14232] nptl: tst-cancel7 and tst-cancelx7 race condition
+  [14913] libc: [mips] Clean up MIPS 64-bit register-dump.h output
+  [15310] dynamic-link: _dl_sort_fini is O(n^3) causing slow exit when
+    many dsos
+  [15333] libc: Use 64-bit stat functions in installed programs
+  [15533] dynamic-link: LD_AUDIT introduces an avoidable performance
+    degradation
+  [15971] dynamic-link: No interface for debugger access to libraries
+    loaded with dlmopen
+  [17318] locale: [RFE] Provide a C.UTF-8 locale by default
+  [17645] dynamic-link: RFE: Improve performance of dynamic loader for
+    deeply nested DSO dependencies.
+  [19193] nptl: pthread_kill, pthread_cancel return ESRCH for a thread
+    ID whose lifetime has not ended
+  [22542] network: buffer overflow in sunrpc clnt_create
+    (CVE-2022-23219)
+  [22716] malloc: [PATCH] mtrace.pl: use TRACE_PRELINKING instead of
+    TRACE_LOADED_OBJECTS
+  [25947] malloc: memory leak in muntrace
+  [26045] math: fmaxf(inf, nan) does not always work
+  [26108] math: exp10() has problems with <tgmath.h>
+  [26779] build: benign use after realloc at localealias.c:329
+  [27609] dynamic-link: [2.32/2.33/2.34 Regression] In elf/dl-open.c
+    (_dl_open) we might use __LM_ID_CALLER to index GL(dl_ns)[]
+  [27945] build: build-many-glibcs.py doesn't configure GCC with
+    --enable-initfini-array
+  [27991] build: x86: sysdeps/x86/configure.ac breaks when
+    libc_cv_include_x86_isa_level is loaded from cache
+  [28036] nptl: Incorrect types for pthread_mutexattr_set/getrobust_np
+    in __REDIRECT_NTH macro
+  [28061] dynamic-link: A failing dlmopen called by an auditor crashed
+  [28062] dynamic-link: Suppress audit calls when a (new) namespace is
+    empty
+  [28126] libc: nftw aborts for paths longer than PATH_MAX
+  [28129] dynamic-link: Unnecessary check DT_DEBUG in ld.so
+  [28153] libc: [test] gmon/tst-gmon-gprof* may have a f3 line when
+    built with ld.lld
+  [28182] libc: _TIME_BITS=64 in C++ has issues with fcntl, ioctl, prctl
+  [28185] math: Inaccurate j0f function (again)
+  [28199] locale: iconvconfig prefix flag behaves differently in glibc
+    2.34
+  [28203] dynamic-link: aarch64: elf_machine_{load_address,dynamic}
+    should drop _GLOBAL_OFFSET_TABLE_[0] in favor of __ehdr_start for
+    robustness
+  [28213] librt: NULL pointer dereference in mq_notify (CVE-2021-38604)
+  [28223] libc: mips: clone does not align stack
+  [28253] dynamic-link: Missing colon in LD_SHOW_AUXV output after
+    AT_MINSIGSTKSZ
+  [28256] malloc: Conditional jump or move depends on uninitialised
+    value(s) in __GI___tunables_init
+  [28260] build: io/tst-closefrom, misc/tst-close_range, posix/tst-
+    spawn5 fail if stray fds are open
+  [28310] libc: Do not use affinity mask for sysconf
+    (_SC_NPROCESSORS_CONF)
+  [28338] time: undefined behavior in __tzfile_compute with oddball TZif
+    file
+  [28340] dynamic-link: ld.so crashes while loading a DSO with a read-
+    only dynamic section
+  [28349] libc: Segfault for ping -R on qemux86 caused by recvmsg()
+  [28350] libc: ping receives SIGABRT on lib32-qemux86-64 caused by
+    recvmsg()
+  [28353] network: Race condition on __opensock
+  [28357] dynamic-link: deadlock between pthread_create and ctors
+  [28358] math: f64xdivf128 and f64xmulf128 spurious underflows
+  [28361] nptl: Fix for bug 12889 causes setxid deadlock
+  [28368] build: -Waddress instances in stdio-common/vfprintf-internal.c
+  [28390] localedata: Update locale data to Unicode 14.0.0
+  [28397] math: tgmath.h should not define fmaxmag, fminmag macros for
+    C2X
+  [28400] libc: [2.35 Regression] string/test-strncasecmp: cannot set
+    locale "en_US.UTF-8"
+  [28407] nptl: pthread_kill assumes that kill (getpid ()) is equivalent
+    to tgkill (getpid (), gettid())
+  [28455] dynamic-link: -Wl,--enable-new-dtags doesn't work
+  [28457] dynamic-link: Missing reldepmod4.so dependency for
+    globalmod1.so
+  [28469] time: linux: struct timex is not correctly set for 32-bit
+    systems with TIMESIZE=64
+  [28470] regex: Buffer read overrun in regular expression searching
+  [28475] string: Incorrect access attribute on memfrob
+  [28524] libc: Conversion from ISO-2022-JP-3 with iconv may emit
+    spurious NUL character on state reset
+  [28532] libc: powerpc64[le]: CFI for assembly templated syscalls is
+    incorrect
+  [28550] dynamic-link: FAIL: tst-dso-
+    ordering9_112-ecbda(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1)
+    execution test
+  [28554] build: Undefined generate-md5
+  [28572] libc: Misaligned accesses in test-memcpy and test-mempcpy on
+    hppa
+  [28607] nptl: Masked signals are delivered on thread exit
+  [28624] libc: openjdk 8/9 assume uni processor and gets stuck due to
+    lack of cpu counting /proc fallback with glibc 2.34
+  [28646] string: [2.35 Regression] mock -r fedora-36-x86_64
+    /tmp/java-1.8.0-openjdk-1.8.0.312.b07-2.fc36.src.rpm& fails to build
+  [28648] dynamic-link: Running ld.so on statically linked binaries
+    crashes
+  [28656] dynamic-link: LD_PREFER_MAP_32BIT_EXEC no longer works due to
+    binutils changes
+  [28676] dynamic-link: p_align on PT_LOAD segment in DSO isn't honored
+  [28678] nptl: nptl/tst-create1 hangs sporadically
+  [28688] dynamic-link: PT_LOAD p_align check is too strict
+  [28700] nss: "dns [!UNAVAIL=return] files" default for hosts database
+    is not useful
+  [28707] time: assert in tzfile.c __tzfile_read striking with truncated
+    timezones generated by tzcode-2021d and later
+  [28713] math: GCC 12 miscompiles libm
+  [28732] dynamic-link: FAIL: elf/tst-dl_find_object
+  [28738] build: LIBC_LINKER_FEATURE doesn't work on linker -z option
+  [28745] dynamic-link: _dl_find_object miscompilation on powerpc64le
+  [28746] libc: _FORTIFY_SOURCE does not work for stpcpy
+  [28749] libc: Inconsistency detected by ld.so: rtld.c: 1632: dl_main:
+    Assertion `GL(dl_rtld_map).l_libname' failed!
+  [28755] string: overflow bug in wcsncmp_avx2 and wcsncmp_evex
+  [28757] nptl: GDB printer tests failed with new GDB
+  [28765] math: x86_64 libmvec atan2 accuracy
+  [28766] manual: Document libmvec accuracy
+  [28768] network: Buffer overflow in svcunix_create with long pathnames
+    (CVE-2022-23218)
+  [28769] libc: Off-by-one buffer overflow/underflow in getcwd()
+    (CVE-2021-3999)
+  [28770] libc: Unexpected return value from realpath() for too long
+    results (CVE-2021-3998)
+  [28771] libc: %ebx optimization macros are incompatible with .altmacro
+    in Systemtap probes
+  [28780] build: --disable-default-pie doesn't work on static programs
+  [28782] libc: x86-64 ISA level for glibc itself is always
+    x86-64-baseline
+  [28792] glob: possible wrong behaviour with patterns with double [
+    with no closing ]
+  [28837] libc: FAIL: socket/tst-socket-timestamp-compat
+  [28847] locale: Empty mon_decimal_point in LC_MONETARY results in non-
+    empty mon_decimal_point_wc
 
 \f
 Version 2.34
@@ -276,7 +1112,7 @@ Major new features:
   to configure the size of the thread stack cache.
 
 * The function _Fork has been added as an async-signal-safe fork replacement
-  since Austin Group issue 62 droped the async-signal-safe requirement for
+  since Austin Group issue 62 dropped the async-signal-safe requirement for
   fork (and it will be included in the future POSIX standard).  The new _Fork
   function does not run any atfork function neither resets any internal state
   or lock (such as the malloc one), and only sets up a minimal state required
@@ -299,9 +1135,6 @@ Major new features:
   execute programs that do not have any dynamic dependency (that is,
   they are statically linked).  This feature is Linux-specific.
 
-* The audit libraries will avoid unnecessary slowdown if it is not required
-  PLT tracking (by not implementing the la_pltenter or la_pltexit callbacks).
-
 Deprecated and removed features, and other changes affecting compatibility:
 
 * The function pthread_mutex_consistent_np has been deprecated; programs
@@ -636,7 +1469,7 @@ Changes to build and runtime requirements:
 
 * On Linux, the system administrator needs to configure /dev/pts with
   the intended access modes for pseudo-terminals.  glibc no longer
-  attemps to adjust permissions of terminal devices.  The previous glibc
+  attempts to adjust permissions of terminal devices.  The previous glibc
   defaults ("tty" group, user read/write and group write) already
   corresponded to what most systems used, so that grantpt did not
   perform any adjustments.
@@ -697,7 +1530,7 @@ The following bugs are resolved with this release:
   [26100] libc: Race in syslog(3) with regards to tag printing.
   [26124] libc: Export <cpu-features.h>
   [26130] nscd: Inconsistent nscd cache during pruning
-  [26203] libc: GLRO(dl_x86_cpu_features) may not be intialized
+  [26203] libc: GLRO(dl_x86_cpu_features) may not be initialized
   [26224] locale: iconv hangs when converting some invalid inputs from
     several IBM character sets (CVE-2020-27618)
   [26341] libc: realpath cyclically call __alloca(path_max) to consume
@@ -986,7 +1819,7 @@ The following bugs are resolved with this release:
   [20338] libc: Parsing of /etc/gshadow can return bad pointers causing
     segfaults in applications
   [20543] libc: Please move from .gnu.linkonce to comdat
-  [22489] network: gcc warns about implicit convertion in
+  [22489] network: gcc warns about implicit conversion in
     ICMP6_FILTER_SETPASS with -Wsign-conversion
   [22525] localedata: or_IN  LC_COLLATE does not use copy "iso14651_t1"
   [23294] math: Complex _FloatN functions are redirected to the wrong
@@ -3027,7 +3860,7 @@ The following bugs are resolved with this release:
     frame-pointer on i386
   [21049] libc: segfault in longjmp_chk() due to clobbered processor
     register
-  [21075] libc: unused assigment to %g4 in sparc/sparc{64,32}/clone.S
+  [21075] libc: unused assignment to %g4 in sparc/sparc{64,32}/clone.S
   [21088] libc: Build fails with --enable-static-nss
   [21094] math: cosf(1.57079697) has 3 ulp error on targets where the
     generic c code is used
@@ -3434,7 +4267,7 @@ The following bugs are resolved with this release:
   [17730] malloc: thread-local storage is sometimes improperly free()'d
     after being __libc_memalign()'d
   [18241] stdio: failed fseek on memstream does not set errno and can fail
-    when it shouldnt
+    when it shouldn't
   [18243] nptl: sem_wait, sem_timedwait are cancellation points shm_open is
     not
   [18463] nptl: pthread_cond_broadcast issue when surrounded by
@@ -3898,7 +4731,7 @@ Version 2.23
   glibc 2.10 via --enable-experimental-malloc (2009), could result in the
   unnecessary serialization of memory allocation requests across threads.
   The defect is now corrected.  Users should see a substantial increase in
-  the concurent throughput of allocation requests for applications which
+  the concurrent throughput of allocation requests for applications which
   trigger this bug.  Affected applications typically create and
   destroy threads frequently.  (Bug 19048 was reported and analyzed by
   Ericsson.)
@@ -3976,7 +4809,7 @@ The following bugs are resolved with this release:
   [2898] libc: [improve]  warning: the use  of `mktemp' is dangerous, better
     use `mkstemp'
   [4404] localedata: German translation of "Alarm clock" is misleading
-  [6799] math: nextafter() and nexttoward() doen't set errno on
+  [6799] math: nextafter() and nexttoward() doesn't set errno on
     overflow/underflow errors
   [6803] math: scalb(), scalbln(), scalbn() do not set errno on
     overflow/underflow
@@ -4155,7 +4988,7 @@ The following bugs are resolved with this release:
   [19094] math: lrint, llrint missing exceptions close to overflow threshold
   [19095] math: dbl-64 lrint incorrect for 64-bit long
   [19122] dynamic-link: Unnecessary PLT relocations in librtld.os
-  [19124] dynamic-link: ld.so failed to build with older assmebler
+  [19124] dynamic-link: ld.so failed to build with older assembler
   [19125] math: [powerpc32] llroundf, llround incorrect exceptions
   [19129] dynamic-link: [arm] Concurrent lazy TLSDESC resolution can crash
   [19134] math: [powerpc32] lround, lroundf spurious exceptions
@@ -5323,7 +6156,7 @@ Version 2.8
 * ARG_MAX is not anymore constant on Linux.  Use sysconf(_SC_ARG_MAX).
   Implemented by Ulrich Drepper.
 
-* Faster sqrt and sqrtf implemention for some PPC variants.
+* Faster sqrt and sqrtf implementation for some PPC variants.
   Implemented by Steven Munroe.
 \f
 Version 2.7
@@ -5604,7 +6437,7 @@ Version 2.3.2
 * The `btowc' function should work at least twice as fast due to
   specialized callbacks in the iconv modules.  Implemented by Bruno Haible.
 
-* With approriate thread add-ons cancelable functions are now implemented
+* With appropriate thread add-ons cancelable functions are now implemented
   in libc.so as well.  No need to call the function in libpthread.  This
   change allowed to finally disable the incorrect and expensive handling
   of weak definition in ld.so.
@@ -5935,7 +6768,7 @@ Version 2.1
 * Eric Youngdale and Ulrich Drepper implemented versioning of objects on
   symbol level.
 
-* Miles Bader provided the `argp' function family to support hierachical
+* Miles Bader provided the `argp' function family to support hierarchical
   command line argument parsing, layered on top of getopt.
 
 * strtod accepts new hexadecimal floating-point format from ISO C 9X.
@@ -6479,7 +7312,7 @@ Version 2.0
 * Ulrich Drepper has contributed a new suite of functions for operation on
   wide-character and multibyte-character strings, in <wchar.h>;
   and classification and case conversion of wide characters, in <wctype.h>.
-  These new functions are conforming to the ISO C, Amendement 1 specification.
+  These new functions are conforming to the ISO C, Amendment 1 specification.
 
 * There is now a second implementation of the standard I/O library available.
   It comes from GNU libg++ as was written by Per Bothner, heavily modified