glibc/stdlib
Adhemerval Zanella d40ac01cbb stdlib: Make abort/_Exit AS-safe (BZ 26275)
The recursive lock used on abort does not synchronize with a new process
creation (either by fork-like interfaces or posix_spawn ones), nor it
is reinitialized after fork().

Also, the SIGABRT unblock before raise() shows another race condition,
where a fork or posix_spawn() call by another thread, just after the
recursive lock release and before the SIGABRT signal, might create
programs with a non-expected signal mask.  With the default option
(without POSIX_SPAWN_SETSIGDEF), the process can see SIG_DFL for
SIGABRT, where it should be SIG_IGN.

To fix the AS-safe, raise() does not change the process signal mask,
and an AS-safe lock is used if a SIGABRT is installed or the process
is blocked or ignored.  With the signal mask change removal,
there is no need to use a recursive loc.  The lock is also taken on
both _Fork() and posix_spawn(), to avoid the spawn process to see the
abort handler as SIG_DFL.

A read-write lock is used to avoid serialize _Fork and posix_spawn
execution.  Both sigaction (SIGABRT) and abort() requires to lock
as writer (since both change the disposition).

The fallback is also simplified: there is no need to use a loop of
ABORT_INSTRUCTION after _exit() (if the syscall does not terminate the
process, the system is broken).

The proposed fix changes how setjmp works on a SIGABRT handler, where
glibc does not save the signal mask.  So usage like the below will now
always abort.

  static volatile int chk_fail_ok;
  static jmp_buf chk_fail_buf;

  static void
  handler (int sig)
  {
    if (chk_fail_ok)
      {
        chk_fail_ok = 0;
        longjmp (chk_fail_buf, 1);
      }
    else
      _exit (127);
  }
  [...]
  signal (SIGABRT, handler);
  [....]
  chk_fail_ok = 1;
  if (! setjmp (chk_fail_buf))
    {
      // Something that can calls abort, like a failed fortify function.
      chk_fail_ok = 0;
      printf ("FAIL\n");
    }

Such cases will need to use sigsetjmp instead.

The _dl_start_profile calls sigaction through _profil, and to avoid
pulling abort() on loader the call is replaced with __libc_sigaction.

Checked on x86_64-linux-gnu and aarch64-linux-gnu.

Reviewed-by: DJ Delorie <dj@redhat.com>
2024-10-08 14:40:12 -03:00
..
bits Fix name space violation in fortify wrappers (bug 32052) 2024-08-05 16:49:58 +02: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 stdlib: Make abort/_Exit AS-safe (BZ 26275) 2024-10-08 14:40:12 -03: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 stdlib: fix arc4random fallback to /dev/urandom (BZ 31612) 2024-07-08 10:05:10 -03: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 Simplify tilegx sysdeps folder 2017-12-20 16:55:26 -02:00
bug-strtod2.c Refactor strtod tests 2016-10-25 17:05:47 -02:00
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 stdlib: Describe __cxa_finalize usage in function comment 2024-06-03 19:04:58 +02: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 stdlib: Allow concurrent quick_exit (BZ 31997) 2024-08-05 17:07:57 -03: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 More thoroughly test underflow / errno in tst-strtod-round 2024-08-27 12:38:01 +00: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 Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00: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: Link tst-concurrent-quick_exit with $(shared-thread-library) 2024-08-06 14:01:27 -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 qsort: Fix a typo causing unnecessary malloc/free (BZ 31276) 2024-01-23 05:17:31 -08: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 Use gcc __builtin_stdc_* builtins in stdbit.h if possible 2024-01-31 19:17:27 +01: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 Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
stdlib.h stdlib: Mark abort as cold 2024-07-31 14:26:00 +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 Fix strtod subnormal rounding (bug 30220) 2024-08-27 12:41:02 +00:00
strtod_nan_main.c Do not set errno for overflowing NaN payload in strtod/nan (bug 32045) 2024-09-04 13:21:23 +00: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 Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
strtol.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00: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 Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
strtoll.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtoul_l.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
strtoul.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strtoull_l.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00: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-concurrent-exit-skeleton.c stdlib: Allow concurrent quick_exit (BZ 31997) 2024-08-05 17:07:57 -03:00
tst-concurrent-exit.c stdlib: Allow concurrent quick_exit (BZ 31997) 2024-08-05 17:07:57 -03:00
tst-concurrent-quick_exit.c stdlib: Allow concurrent quick_exit (BZ 31997) 2024-08-05 17:07:57 -03: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 Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
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 Fix a couple of -Wundef warnings. 2014-12-29 23:14:38 -05:00
tst-llabs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-makecontext2.c stdlib: Fix tst-makecontext2 log when swapcontext fails 2024-03-23 08:36:28 +00: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 stdlib/tst-qsort2.c: Fix off-by-one argc interpretation error 2014-06-20 21:29:33 +01:00
tst-qsort3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-qsort4.c stdlib: Verify heapsort for two-element cases 2024-01-16 11:00:51 -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 Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
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-builtins.c Use gcc __builtin_stdc_* builtins in stdbit.h if possible 2024-01-31 19:17:27 +01: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 localedata: hr_HR: change currency to EUR/€ 2024-02-08 08:13:37 +01: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 Make __strtod_internal tests type-generic 2024-08-27 20:41:54 +00:00
tst-strtod2.c Add tests of more strtod special cases 2024-09-20 23:24:45 +00:00
tst-strtod3.c Make __strtod_internal tests type-generic 2024-08-27 20:41:54 +00:00
tst-strtod4.c Make __strtod_internal tests type-generic 2024-08-27 20:41:54 +00:00
tst-strtod5.c Make tst-strtod2 and tst-strtod5 type-generic 2024-09-20 23:23:13 +00:00
tst-strtod5i.c Make __strtod_internal tests type-generic 2024-08-27 20:41:54 +00:00
tst-strtod6.c Refactor strtod tests 2016-10-25 17:05:47 -02:00
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 subnormal rounding (bug 30220) 2024-08-27 12:41:02 +00:00
tst-strtod-round-data.h Fix strtod subnormal rounding (bug 30220) 2024-08-27 12:41:02 +00:00
tst-strtod-round-skeleton.c More thoroughly test underflow / errno in tst-strtod-round 2024-08-27 12:38:01 +00:00
tst-strtod-round.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strtod-underflow.c Make tst-strtod-underflow type-generic 2024-09-20 23:25:32 +00: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-c11.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
tst-strtol-binary-c23.c Rename c2x / gnu2x tests to c23 / gnu23 2024-02-01 17:55:57 +00:00
tst-strtol-binary-gnu11.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
tst-strtol-binary-gnu23.c Rename c2x / gnu2x tests to c23 / gnu23 2024-02-01 17:55:57 +00:00
tst-strtol-binary-main.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00: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 Convert 703 function definitions to prototype style. 2015-10-16 20:21:49 +00:00
tst-strtoll.c Convert 703 function definitions to prototype style. 2015-10-16 20:21:49 +00:00
tst-swapcontext1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-swapcontext2.c Fix usage of _STACK_GROWS_DOWN and _STACK_GROWS_UP defines [BZ 31989] 2024-07-19 10:10:17 -04:00
tst-system.c support: Use macros for *stat wrappers 2024-08-16 16:05:20 +02: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