Go to file
Adhemerval Zanella 3fcb410465 malloc: Use __get_nprocs on arena_get2 (BZ 30945)
This restore the 2.33 semantic for arena_get2.  It was changed by
11a02b035b to avoid arena_get2 call malloc (back when __get_nproc
was refactored to use an scratch_buffer - 903bc7dcc2).  The
__get_nproc was refactored over then and now it also avoid to call
malloc.

The 11a02b035b did not take in consideration any performance
implication, which should have been discussed properly.  The
__get_nprocs_sched is still used as a fallback mechanism if procfs
and sysfs is not acessible.

Checked on x86_64-linux-gnu.
Reviewed-by: DJ Delorie <dj@redhat.com>

(cherry picked from commit 472894d2cf)
2024-02-12 10:20:44 -03:00
ChangeLog.old Update ChangeLog.old/ChangeLog.23. 2021-08-01 21:33:43 -04:00
argp
assert
benchtests
bits socket: Check lengths before advancing pointer in CMSG_NXTHDR 2022-08-22 18:59:26 +02:00
catgets catgets: Use 64 bit stat for __open_catalog (BZ# 29211) 2022-06-01 13:36:38 -03:00
conform Allow #pragma GCC in headers in conformtest 2022-11-11 16:52:03 +01:00
crypt
csu csu: Implement and use _dl_early_allocate during static startup 2022-05-19 12:13:53 +02:00
ctype
debug debug: Mark libSegFault.so as NODELETE 2023-07-21 16:37:42 +02:00
dirent
dlfcn dlfcn: Pass caller pointer to static dlopen implementation (bug 29446) 2022-08-04 20:57:18 +02:00
elf elf: Fix wrong break removal from 8ee878592c 2024-02-05 09:55:09 -03:00
gmon gmon: Revert addition of tunables to preserve GLIBC_PRIVATE ABI 2023-04-28 18:52:41 +02:00
gnulib
grp
gshadow gshadow: Matching sgetsgent, sgetsgent_r ERANGE handling (bug 30151) 2023-04-24 15:59:58 +02:00
hesiod
htl
hurd
iconv gconv: Use 64-bit interfaces in gconv_parseconfdir (bug 29583) 2022-09-21 13:13:02 +02:00
iconvdata gconv: Do not emit spurious NUL character in ISO-2022-JP-3 (bug 28524) 2021-11-04 21:28:43 +01:00
include malloc: Use __get_nprocs on arena_get2 (BZ 30945) 2024-02-12 10:20:44 -03:00
inet inet: Use 64 bit stat for ruserpass (BZ# 29210) 2022-06-01 13:34:51 -03:00
intl intl: Avoid -Wuse-after-free [BZ #26779] 2023-01-11 13:29:41 +01:00
io io: Fix use-after-free in ftw [BZ #26779] 2022-11-11 16:55:09 +01:00
libio Apply asm redirections in stdio.h before first use [BZ #27087] 2022-08-31 10:29:46 +02:00
locale localedef: Handle symbolic links when generating locale-archive 2022-03-03 11:58:03 +01:00
localedata
login
mach
malloc malloc: Use __get_nprocs on arena_get2 (BZ 30945) 2024-02-12 10:20:44 -03:00
manual gmon: Revert addition of tunables to preserve GLIBC_PRIVATE ABI 2023-04-28 18:52:41 +02:00
math math: Properly cast X_TLOSS to float [BZ #28713] 2023-01-11 15:13:10 +01:00
mathvec
misc malloc: Use __get_nprocs on arena_get2 (BZ 30945) 2024-02-12 10:20:44 -03:00
nis nis: Build libnsl with 64 bit time_t 2022-12-28 17:23:26 -03:00
nptl Fix build of nptl/tst-thread_local1.cc with GCC 12 2023-01-11 14:12:47 +01:00
nptl_db
nscd nscd: Use 64 bit time_t on libc nscd routines (BZ# 29402) 2022-12-28 17:25:18 -03:00
nss Fix leak in getaddrinfo introduced by the fix for CVE-2023-4806 [BZ #30843] 2023-09-26 15:38:49 -04:00
po po/nl.po: Update Dutch translation. 2021-08-01 20:52:28 -04:00
posix regex: fix buffer read overrun in search [BZ#28470] 2022-11-11 16:54:09 +01:00
pwd
resolv resolv: Avoid GCC 12 false positive warning [BZ #28439]. 2023-01-11 13:34:00 +01:00
resource
rt librt: add test (bug 28213) 2021-08-16 11:35:35 +05:30
scripts csu: Implement and use _dl_early_allocate during static startup 2022-05-19 12:13:53 +02:00
setjmp
shadow
signal
socket socket: Check lengths before advancing pointer in CMSG_NXTHDR 2022-08-22 18:59:26 +02:00
soft-fp
stdio-common Fix stdio-common tests for GCC 12 -Waddress 2023-01-11 14:12:05 +01:00
stdlib posix: Fix system blocks SIGCHLD erroneously [BZ #30163] 2023-04-28 16:36:24 +02:00
string x86: Fix wcsnlen-avx2 page cross length comparison [BZ #29591] 2022-11-24 14:42:41 -08:00
sunrpc CVE-2022-23218: Buffer overflow in sunrpc svcunix_create (bug 28768) 2022-01-17 11:49:25 +01:00
support posix: Fix system blocks SIGCHLD erroneously [BZ #30163] 2023-04-28 16:36:24 +02:00
sysdeps malloc: Use __get_nprocs on arena_get2 (BZ 30945) 2024-02-12 10:20:44 -03:00
sysvipc
termios
time Use 64-bit time_t interfaces in strftime and strptime (bug 30053) 2023-02-07 10:32:47 -03:00
timezone time: Set daylight to 1 for matching DST/offset change (bug 29951) 2023-01-10 17:36:15 +01:00
wcsmbs Apply asm redirections in wchar.h before first use 2022-08-31 10:29:54 +02:00
wctype
.gitattributes
.gitignore
COPYING
COPYING.LIB
INSTALL INSTALL: Rephrase -with-default-link documentation 2022-04-26 15:27:43 +02:00
LICENSES
MAINTAINERS
Makeconfig nis: Build libnsl with 64 bit time_t 2022-12-28 17:23:26 -03:00
Makefile
Makefile.help
Makefile.in
Makerules Use LFS and 64 bit time for installed programs (BZ #15333) 2022-12-28 17:23:25 -03:00
NEWS NEWS: Mention bug fixes for 29039/30745/30843 2023-12-23 09:09:18 -08:00
README
Rules
abi-tags
aclocal.m4
config.h.in i386: Remove broken CAN_USE_REGISTER_ASM_EBP (bug 28771) 2022-01-13 15:21:32 +01:00
config.make.in
configure Default to --with-default-link=no (bug 25812) 2022-04-22 11:31:14 +02:00
configure.ac Default to --with-default-link=no (bug 25812) 2022-04-22 11:31:14 +02:00
extra-lib.mk
gen-locales.mk
libc-abis
libof-iterator.mk
o-iterator.mk
shlib-versions nss: Do not mention NSS test modules in <gnu/lib-names.h> 2022-03-11 11:13:34 +01:00
test-skeleton.c
version.h Prepare for glibc 2.34 release. 2021-08-01 21:24:04 -04: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.

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
	ia64-*-linux-gnu
	m68k-*-linux-gnu
	microblaze*-*-linux-gnu
	mips-*-linux-gnu
	mips64-*-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.