Go to file
Sachin Monga f8cdc03e1e ppc64le: Restore optimized strncmp for power10
This patch addresses the actual cause of CVE-2025-5745

The vector non-volatile registers are not used anymore for
32 byte load and comparison operation

Additionally, the assembler workaround used earlier for the
instruction lxvp is replaced with actual instruction.

Signed-off-by: Sachin Monga <smonga@linux.ibm.com>
Co-authored-by: Paul Murphy <paumurph@redhat.com>
(cherry picked from commit 2ea943f7d4)
2025-11-21 01:31:08 -05:00
ChangeLog.old Create ChangeLog.old/ChangeLog.30 2025-01-28 18:31:33 +01:00
argp Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
assert assert: Add test for CVE-2025-0395 2025-02-13 12:38:18 -05:00
benchtests x86_64: Add atanh with FMA 2025-03-18 10:01:25 -07:00
bits AArch64: Add vector tanpi routines 2025-01-03 21:39:56 +00:00
catgets Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
conform conform: Do not use __SIG_ATOMIC_TYPE__ 2025-01-03 09:53:53 -03:00
csu Revert "stdlib: Support malloc-managed environ arrays for compatibility" 2025-01-24 12:25:29 +01:00
ctype Use TLS initial-exec model for __libc_tsd_CTYPE_* thread variables [BZ #33234] 2025-08-14 12:07:42 +02:00
debug Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dirent Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dlfcn Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
elf i386: Update ___tls_get_addr to preserve vector registers 2025-08-18 12:44:54 -07:00
gmon gmon: Disable tst-profile-static with clang 2025-01-13 10:17:42 -03:00
gnulib Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
hesiod Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
htl htl: Fix making pthread_join check timeout value 2025-01-07 01:02:20 +01:00
hurd hurd: Add CLOCK_MONOTONIC support to lll 2025-01-12 22:47:00 +01:00
iconv iconv: iconv -o should not create executable files (bug 33164) 2025-07-24 09:53:50 +02:00
iconvdata Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
include Optimize __libc_tsd_* thread variable access 2025-08-20 16:06:40 +02:00
inet inet: Add common IPv6 packet header macros 2025-01-13 10:54:38 -03:00
intl Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
io Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libio Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
locale Optimize __libc_tsd_* thread variable access 2025-08-20 16:06:40 +02:00
localedata Update copyright dates not handled by scripts/update-copyrights 2025-01-01 11:22:09 -08:00
login Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mach mach: Add missing error messages 2025-01-14 22:41:03 +01:00
malloc malloc: cleanup casts in tst-calloc 2025-01-25 05:34:05 +00:00
manual elf: Extend glibc.rtld.execstack tunable to force executable stack (BZ 32653) 2025-04-09 13:19:36 +00:00
math math: Remove an extra semicolon in math function declarations 2025-03-08 13:35:03 +01:00
mathvec Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
misc mlock, mlock2, munlock: Use __attr_access_none macro 2025-01-02 17:58:06 +00:00
nis Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nptl nptl: Fix SYSCALL_CANCEL for return values larger than INT_MAX (BZ 33245) 2025-08-01 17:43:29 -03:00
nptl_db Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nscd Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nss nss: Group merge does not react to ERANGE during merge (bug 33361) 2025-09-19 09:20:48 +02:00
po po: update translations (final, only timestamp and line number changes) 2025-01-28 13:47:28 +01:00
posix posix: Fix double-free after allocation failure in regcomp (bug 33185) 2025-07-24 09:19:06 +02:00
resolv Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
resource Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
rt Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
scripts Don't update copyright notices in Linux licenses 2025-01-01 12:16:24 -08:00
setjmp Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
signal Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
socket socket/tst-cmsghdr: Fix alignment of cmsghdr 2025-01-12 15:57:26 +01:00
soft-fp Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
stdio-common Remove <libc-tsd.h> 2025-08-14 11:41:34 +02:00
stdlib stdlib: resolve a double lock init issue after fork [BZ #32994] 2025-08-01 13:42:43 +02:00
string Remove <libc-tsd.h> 2025-08-14 11:41:34 +02:00
sunrpc Remove <libc-tsd.h> 2025-08-14 11:41:34 +02:00
support Fix error reporting (false negatives) in SGID tests 2025-06-20 10:38:57 +02:00
sysdeps ppc64le: Restore optimized strncmp for power10 2025-11-21 01:31:08 -05:00
sysvipc Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
termios Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
time Remove <libc-tsd.h> 2025-08-14 11:41:34 +02:00
timezone Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsmbs Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wctype Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
.b4-config Add .b4-config file 2024-10-21 14:26:42 +01:00
.clang-format Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
.gitattributes
.gitignore
ADVISORIES Remove advisories from release branch 2025-01-28 18:45:20 +01:00
CONTRIBUTED-BY
COPYING
COPYING.LIB
INSTALL INSTALL: update last tested version numbers 2025-01-28 12:31:08 +01:00
LICENSES LICENSES: update CORE-MATH copyright 2025-01-24 23:21:49 +01:00
MAINTAINERS
Makeconfig aarch64: Add GCS tests for dlopen 2025-02-28 09:49:37 +00:00
Makefile Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
Makefile.help Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
Makefile.in Rename have-mtls-descriptor to have-test-mtls-descriptor 2025-01-04 04:51:21 +08:00
Makerules Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
NEWS aarch64: Do not link conform tests with -Wl,-z,force-bti (bug 33601) 2025-11-13 14:33:09 +01:00
README
Rules Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
SECURITY.md
SHARED-FILES math: Use tanhf from CORE-MATH 2024-12-18 17:24:43 -03:00
abi-tags
aclocal.m4 Use -finput-charset=ascii only if supported 2024-12-22 12:42:02 +08:00
config.h.in mach: Add CLOCK_MONOTONIC case in clock_gettime() 2025-01-12 22:47:00 +01:00
config.make.in Pass -Wl,--no-error-execstack for tests where -Wl,-z,execstack is used [PR32717] 2025-03-05 22:58:39 +00:00
configure i386: Update ___tls_get_addr to preserve vector registers 2025-08-18 12:44:54 -07:00
configure.ac i386: Update ___tls_get_addr to preserve vector registers 2025-08-18 12:44:54 -07:00
extra-lib.mk
gen-locales.mk
libc-abis
libof-iterator.mk
o-iterator.mk
shlib-versions
test-skeleton.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
version.h Bump version to 2.41 2025-01-28 18:25:13 +01:00

README

This directory contains the sources of the GNU C Library.
See the file "version.h" for what release version you have.

The GNU C Library is the standard system C library for all GNU systems,
and is an important part of what makes up a GNU system.  It provides the
system API for all programs written in C and C-compatible languages such
as C++ and Objective C; the runtime facilities of other programming
languages use the C library to access the underlying operating system.

In GNU/Linux systems, the C library works with the Linux kernel to
implement the operating system behavior seen by user applications.
In GNU/Hurd systems, it works with a microkernel and Hurd servers.

The GNU C Library implements much of the POSIX.1 functionality in the
GNU/Hurd system, using configurations i[4567]86-*-gnu and x86_64-gnu.

When working with Linux kernels, this version of the GNU C Library
requires Linux kernel version 3.2 or later.

Also note that the shared version of the libgcc_s library must be
installed for the pthread library to work correctly.

The GNU C Library supports these configurations for using Linux kernels:

	aarch64*-*-linux-gnu
	alpha*-*-linux-gnu
	arc*-*-linux-gnu
	arm-*-linux-gnueabi
	csky-*-linux-gnuabiv2
	hppa-*-linux-gnu
	i[4567]86-*-linux-gnu
	x86_64-*-linux-gnu	Can build either x86_64 or x32
	loongarch64-*-linux-gnu Hardware floating point, LE only.
	m68k-*-linux-gnu
	microblaze*-*-linux-gnu
	mips-*-linux-gnu
	mips64-*-linux-gnu
	or1k-*-linux-gnu
	powerpc-*-linux-gnu	Hardware or software floating point, BE only.
	powerpc64*-*-linux-gnu	Big-endian and little-endian.
	s390-*-linux-gnu
	s390x-*-linux-gnu
	riscv32-*-linux-gnu
	riscv64-*-linux-gnu
	sh[34]-*-linux-gnu
	sparc*-*-linux-gnu
	sparc64*-*-linux-gnu

If you are interested in doing a port, please contact the glibc
maintainers; see https://www.gnu.org/software/libc/ for more
information.

See the file INSTALL to find out how to configure, build, and install
the GNU C Library.  You might also consider reading the WWW pages for
the C library at https://www.gnu.org/software/libc/.

The GNU C Library is (almost) completely documented by the Texinfo manual
found in the `manual/' subdirectory.  The manual is still being updated
and contains some known errors and omissions; we regret that we do not
have the resources to work on the manual as much as we would like.  For
corrections to the manual, please file a bug in the `manual' component,
following the bug-reporting instructions below.  Please be sure to check
the manual in the current development sources to see if your problem has
already been corrected.

Please see https://www.gnu.org/software/libc/bugs.html for bug reporting
information.  We are now using the Bugzilla system to track all bug reports.
This web page gives detailed information on how to report bugs properly.

The GNU C Library is free software.  See the file COPYING.LIB for copying
conditions, and LICENSES for notices about a few contributions that require
these additional notices to be distributed.  License copyright years may be
listed using range notation, e.g., 1996-2015, indicating that every year in
the range, inclusive, is a copyrightable year that would otherwise be listed
individually.