glibc/stdlib
Adhemerval Zanella 709fbd3ec3 stdlib: Reinstate stable mergesort implementation on qsort
The mergesort removal from qsort implementation (commit 03bf8357e8)
had the side-effect of making sorting nonstable.  Although neither
POSIX nor C standard specify that qsort should be stable, it seems
that it has become an instance of Hyrum's law where multiple programs
expect it.

Also, the resulting introsort implementation is not faster than
the previous mergesort (which makes the change even less appealing).

This patch restores the previous mergesort implementation, with the
exception of machinery that checks the resulting allocation against
the _SC_PHYS_PAGES (it only adds complexity and the heuristic not
always make sense depending on the system configuration and load).
The alloca usage was replaced with a fixed-size buffer.

For the fallback mechanism, the implementation uses heapsort.  It is
simpler than quicksort, and it does not suffer from adversarial
inputs.  With memory overcommit, it should be rarely triggered.

The drawback is mergesort requires O(n) extra space, and since it is
allocated with malloc the function is AS-signal-unsafe.  It should be
feasible to change it to use mmap, although I am not sure how urgent
it is.  The heapsort is also nonstable, so programs that require a
stable sort would still be subject to this latent issue.

The tst-qsort5 is removed since it will not create quicksort adversarial
inputs with the current qsort_r implementation.

Checked on x86_64-linux-gnu and aarch64-linux-gnu.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
2024-01-15 15:58:35 -03:00
..
bits Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sys Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
a64l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
abort.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
abs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
add_n.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
addmul_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
alloca.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arc4random_uniform.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arc4random.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
at_quick_exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atexit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atof.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atoi.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atol.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atoll.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
bsearch.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
bug-fmtmsg1.c
bug-getcontext.c
bug-strtod2.c
bug-strtod.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
canonicalize.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cmp.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cxa_at_quick_exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cxa_atexit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cxa_finalize.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cxa_thread_atexit_impl.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dbl2mpn.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Depend
div.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
divmod_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
divrem.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
drand48_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
drand48-iter.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
drand48.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
erand48_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
erand48.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
errno.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
exit.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fmtmsg.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fmtmsg.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fpioconst.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fpioconst.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
gen-fpioconst.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
gen-tst-strtod-round.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getcontext.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getentropy.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getrandom.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getsubopt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
gmp-impl.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
gmp.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
grouping.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
grouping.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
groupingwc.c
inlines.c
inttypes.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isomac.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
jrand48_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
jrand48.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
l64a.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
labs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
lcong48_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
lcong48.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ldbl2mpn.c
ldiv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
llabs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
lldiv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
longlong.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
lrand48_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
lrand48.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
lshift.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
makecontext.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Makefile stdlib: Reinstate stable mergesort implementation on qsort 2024-01-15 15:58:35 -03:00
mblen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mbstowcs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mbtowc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mod_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
monetary.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mp_clz_tab.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mpn2dbl.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mpn2flt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mpn2ldbl.c
mrand48_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mrand48.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mul_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mul_n.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mul.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
nrand48_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
nrand48.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
old_atexit.c
on_exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
putenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
qsort.c stdlib: Reinstate stable mergesort implementation on qsort 2024-01-15 15:58:35 -03:00
quick_exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
rand_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
rand.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
random_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
random.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
rpmatch.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
rshift.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
secure-getenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
seed48_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
seed48.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
setcontext.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
setenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
srand48_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
srand48.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
stdbit.h stdlib: Fix stdbit.h with -Wconversion for clang 2024-01-05 14:52:29 -03:00
stdc_bit_ceil_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_ceil_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_ceil_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_ceil_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_ceil_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_floor_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_floor_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_floor_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_floor_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_floor_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_width_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_width_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_width_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_width_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_bit_width_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_ones_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_ones_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_ones_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_ones_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_ones_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_zeros_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_zeros_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_zeros_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_zeros_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_count_zeros_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_one_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_one_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_one_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_one_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_one_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_zero_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_zero_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_zero_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_zero_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_leading_zero_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_one_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_one_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_one_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_one_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_one_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_zero_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_zero_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_zero_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_zero_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_first_trailing_zero_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_has_single_bit_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_has_single_bit_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_has_single_bit_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_has_single_bit_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_has_single_bit_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_ones_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_ones_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_ones_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_ones_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_ones_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_zeros_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_zeros_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_zeros_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_zeros_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_leading_zeros_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_ones_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_ones_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_ones_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_ones_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_ones_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_zeros_uc.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_zeros_ui.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_zeros_ul.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_zeros_ull.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdc_trailing_zeros_us.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdint.h Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
stdlib.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strfmon_l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strfmon.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strfrom-skeleton.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strfromd.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strfromf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strfroml.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtod_l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtod_nan_main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtod_nan_narrow.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtod_nan_wide.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtod_nan.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtod.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtof_l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtof_nan.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtof.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtol_l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtol.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtold_l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtold_nan.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtold.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtoll_l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtoll.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtoul_l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtoul.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtoull_l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtoull.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sub_n.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
submul_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
swapcontext.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
system.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tens_in_limb.c
test-a64l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-at_quick_exit-race.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-atexit-race-common.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-atexit-race.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-atexit-recursive.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-bz22786.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-canon2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-canon.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-cxa_atexit-race2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-cxa_atexit-race.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-dlclose-exit-race-helper.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-dlclose-exit-race.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-on_exit-race.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
testdiv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
testdiv.input
testmb2.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
testmb.c stdlib: Remove attr_write from mbstows if dst is NULL [BZ: 29265] 2022-06-22 11:12:33 -07:00
testrand.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
testsort.c
tst-abs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-arc4random-fork.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-arc4random-stats.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-arc4random-thread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-at_quick_exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-atexit-common.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-atexit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-atof1.c
tst-atof2.c
tst-bsearch.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-bz20544.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-canon-bz26341.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-cxa_atexit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-empty-env.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-environ.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-fmtmsg.c
tst-fmtmsg.sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-getrandom.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-labs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-limits.c
tst-llabs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-makecontext2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-makecontext3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-makecontext-align.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-makecontext.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-on_exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-putenv.c
tst-putenvmod.c
tst-qsort2.c
tst-qsort3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-qsort4.c stdlib: Reinstate stable mergesort implementation on qsort 2024-01-15 15:58:35 -03:00
tst-qsort6.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-qsort.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
tst-quick_exit.cc Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-rand48-2.c
tst-rand48.c stdlib: Fix tst-rand48.c printf types 2022-03-31 09:13:14 -03:00
tst-random2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-random.c Fix all the remaining misspellings -- BZ 25337 2023-06-02 01:39:48 +00:00
tst-realpath-toolong.c tst-realpath-toolong: return "unsupported" when PATH_MAX is undefined 2023-08-03 22:43:27 +02:00
tst-realpath.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-secure-getenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext3.sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext4.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext5.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext6.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext7.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext8.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext9.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext10.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext11.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setcontext.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-stdbit-Wconversion.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdbit.h Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_bit_ceil.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_bit_floor.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_bit_width.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_count_ones.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_count_zeros.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_first_leading_one.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_first_leading_zero.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_first_trailing_one.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_first_trailing_zero.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_has_single_bit.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_leading_ones.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_leading_zeros.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_trailing_ones.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-stdc_trailing_zeros.c Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
tst-strfmon_l.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strfrom-locale.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strfrom.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strfrom.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod1i.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod2.c
tst-strtod3.c
tst-strtod4.c stdlib: fix grouping verification with multi-byte thousands separator (bug 30964) 2023-10-12 11:42:22 +02:00
tst-strtod5.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod5i.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod6.c
tst-strtod-nan-locale-main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod-nan-locale.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod-nan-sign-main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod-nan-sign.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod-overflow.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod-round-data Fix strtod multiple-precision division bug (bug 26137). 2020-06-30 23:04:06 +00:00
tst-strtod-round-data.h Fix strtod multiple-precision division bug (bug 26137). 2020-06-30 23:04:06 +00:00
tst-strtod-round-skeleton.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod-round.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod-underflow.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtol-binary-c2x.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtol-binary-c11.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtol-binary-gnu2x.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtol-binary-gnu11.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtol-binary-main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtol-locale-main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtol-locale.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtol.c
tst-strtoll.c
tst-swapcontext1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-swapcontext2.c Add a setjmp/longjmp test between user contexts 2024-01-01 15:55:38 -08:00
tst-system.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-thread-quick_exit.cc Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tininess.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tls-atexit-lib.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tls-atexit-nodelete.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tls-atexit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-unsetenv1.c
tst-width-stdint.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-width.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-xpg-basename.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ucontext.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
udiv_qrnnd.c
Versions Implement C23 <stdbit.h> 2024-01-03 12:07:14 +00:00
wcstombs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wctomb.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpg_basename.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00