musl/include
Érico Nogueira b76f37fd56 add qsort_r and make qsort a wrapper around it
we make qsort a wrapper by providing a wrapper_cmp function that uses
the extra argument as a function pointer. should be optimized to a tail
call on most architectures, as long as it's built with
-fomit-frame-pointer, so the performance impact should be minimal.

to keep the git history clean, for now qsort_r is implemented in qsort.c
and qsort is implemented in qsort_nr.c.  qsort.c also received a few
trivial cleanups, including replacing (*cmp)() calls with cmp().
qsort_nr.c contains only wrapper_cmp and qsort as a qsort_r wrapper
itself.
2021-09-23 20:09:22 -04:00
..
arpa remove duplicate definitions of INET[6]_ADDRSTRLEN 2020-03-04 12:33:35 -05:00
net net/if_arp.h: add ARPHRD_RAWIP from linux v4.14 2018-02-22 18:47:49 -05:00
netinet netinet/in.h: add IP_RECVERR_4884 from linux v5.9 2020-11-29 00:54:41 -05:00
netpacket add PACKET_IGNORE_OUTGOING sockopt from linux v4.20 2019-03-13 12:32:19 -04:00
scsi add legacy scsi/scsi_ioctl.h header 2013-07-03 18:07:50 +02:00
sys sys/prctl.h: add MTE related constants from linux v5.10 2021-02-15 09:16:06 -05:00
aio.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
alloca.h unconditonally define alloca as __builtin_alloca 2020-01-01 15:07:11 -05:00
alltypes.h.in fix regression with applications that expect struct winsize in ioctl.h 2020-08-30 16:47:40 -04:00
ar.h some extra legacy header stuff 2012-05-06 16:35:32 -04:00
assert.h restore _Noreturn to __assert_fail 2016-08-30 16:39:54 -04:00
byteswap.h remove all remaining redundant __restrict/__inline/_Noreturn defs 2012-09-08 17:14:52 -04:00
complex.h fix mismatched parens in CMPLX def for annex-g-conforming compilers 2015-11-02 21:44:57 -05:00
cpio.h initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
crypt.h replace old and ugly crypt implementation 2012-06-29 00:56:37 -04:00
ctype.h suppress isascii() macro for C++ 2021-02-25 16:35:54 -05:00
dirent.h move struct dirent to bits header, allow NAME_MAX to vary 2020-01-25 23:08:55 -05:00
dlfcn.h add time64 redirect for, and redirecting implementation of, dlsym 2019-11-02 18:30:56 -04:00
elf.h elf.h: add NT_ARM_TAGGED_ADDR_CTRL from linux v5.10 2021-02-15 09:16:06 -05:00
endian.h make endian.h expose unprefixed macros, functions in standard profile 2019-10-17 16:26:22 -04:00
err.h fix redundant _Noreturn def in err.h 2012-09-08 18:16:33 -04:00
errno.h restore attribute((const)) to pthread_self and errno location decls 2018-10-16 14:10:27 -04:00
fcntl.h fcntl.h: add AT_RECURSIVE from linux v5.2 2019-09-11 10:40:31 -04:00
features.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
fenv.h initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
float.h fix FLT_ROUNDS regression in C++ applications 2015-03-23 11:26:51 -04:00
fmtmsg.h implement fmtmsg function 2014-06-21 19:24:15 -04:00
fnmatch.h remove now-unnecessary features.h inclusion from fnmatch.h 2013-12-02 02:06:52 -05:00
ftw.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
getopt.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
glob.h glob: implement GLOB_TILDE and GLOB_TILDE_CHECK 2019-08-06 14:03:31 -04:00
grp.h fix various header namespace issues under feature-test-macro control 2016-10-20 17:20:01 -04:00
iconv.h remove all remaining redundant __restrict/__inline/_Noreturn defs 2012-09-08 17:14:52 -04:00
ifaddrs.h remove parameter names from public headers 2016-10-20 17:04:37 -04:00
inttypes.h fix inttypes.h PRI and SCN macros for [u]intptr_t types 2013-10-30 14:52:55 -04:00
iso646.h add previously-missing ios646.h 2011-02-14 21:59:38 -05:00
langinfo.h add _NL_LOCALE_NAME extension to nl_langinfo 2017-07-31 23:08:27 -04:00
lastlog.h some extra legacy header stuff 2012-05-06 16:35:32 -04:00
libgen.h initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
libintl.h add format argument attributes to gettext function prototypes 2015-09-15 20:30:36 +00:00
limits.h move struct dirent to bits header, allow NAME_MAX to vary 2020-01-25 23:08:55 -05:00
link.h generalize ELF hash table types not to assume 32-bit entries 2016-11-11 12:46:06 -05:00
locale.h restore type of NULL to void * except when used in C++ programs 2013-11-24 21:42:55 -05:00
malloc.h add malloc_usable_size function and non-stub malloc.h 2014-08-25 22:47:27 -04:00
math.h define FP_FAST_FMA* when fma* can be inlined 2019-04-17 13:02:47 -04:00
memory.h add memory.h, bogus legacy alias for string.h 2012-03-01 01:34:58 -05:00
mntent.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
monetary.h remove all remaining redundant __restrict/__inline/_Noreturn defs 2012-09-08 17:14:52 -04:00
mqueue.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
netdb.h restore attribute((const)) to pthread_self and errno location decls 2018-10-16 14:10:27 -04:00
nl_types.h refactor headers, especially alltypes.h, and improve C++ ABI compat 2013-07-22 11:22:36 -04:00
paths.h remove duplicate definition of _PATH_LASTLOG in paths.h 2013-12-03 20:34:36 -05:00
poll.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
pthread.h add pthread_getname_np function 2021-04-20 15:34:30 -04:00
pty.h fix __cplusplus extern "C" closing brace in pty.h (typo?) 2011-11-10 21:01:24 -05:00
pwd.h fix various header namespace issues under feature-test-macro control 2016-10-20 17:20:01 -04:00
regex.h make regoff_t and regex_t match C++ ABI 2013-07-22 14:39:59 -04:00
resolv.h don't claim support for resolv.h APIs that aren't supported 2016-11-07 11:55:53 -05:00
sched.h sched.h: add CLONE_NEWTIME from linux v5.6 2020-09-09 17:20:34 -04:00
search.h implement hcreate_r, hdestroy_r and hsearch_r 2014-04-02 18:37:45 -04:00
semaphore.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
setjmp.h guard against compilers failing to handle setjmp specially by default 2021-02-22 15:52:21 -05:00
shadow.h initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
signal.h signal.h: add MTE specific SIGSEGV codes from linux v5.10 2021-02-15 09:16:06 -05:00
spawn.h add posix_spawn [f]chdir file actions 2019-08-30 16:21:36 -04:00
stdalign.h add static_assert and hide noreturn, alignas, alignof from C++ 2014-08-27 02:55:54 -04:00
stdarg.h remove legacy i386 fallback stdarg implementation and framework 2016-12-15 12:18:24 -05:00
stdbool.h stdbool.h should define __bool_true_false_are_defined even for C++ 2013-08-28 00:41:00 -04:00
stdc-predef.h define __STDC_UTF_{16,32}__ macros 2021-04-19 09:49:20 -04:00
stddef.h add max_align_t definition for C11 and C++11 2014-08-20 17:20:14 -04:00
stdint.h fix signedness of UINT32_MAX and UINT64_MAX at the preprocessor level 2014-12-21 02:30:29 -05:00
stdio.h make FILE a complete type for pre-C11 standard profiles 2019-03-12 15:24:00 -04:00
stdio_ext.h stdio_ext.h needs to include stdio.h, at least to get FILE... 2012-08-24 16:16:30 -04:00
stdlib.h add qsort_r and make qsort a wrapper around it 2021-09-23 20:09:22 -04:00
stdnoreturn.h add static_assert and hide noreturn, alignas, alignof from C++ 2014-08-27 02:55:54 -04:00
string.h add explicit_bzero implementation 2018-06-26 16:59:12 -04:00
strings.h implement ffsl and ffsll functions 2014-07-31 02:38:23 -04:00
stropts.h add isastream (obsolete STREAMS junk) 2012-05-06 09:03:19 -04:00
syscall.h header file fixes: multiple include guard consistency and correctness 2012-06-15 21:52:53 -04:00
sysexits.h add sysexits.h legacy header 2011-04-05 15:40:36 -04:00
syslog.h remove hack in syslog.h that resulted in aliasing violations 2014-06-21 07:44:46 -04:00
tar.h expose TSVTX unconditionally in tar.h 2019-03-13 10:42:57 -04:00
termios.h fix regression with applications that expect struct winsize in ioctl.h 2020-08-30 16:47:40 -04:00
tgmath.h math: more correct tgmath.h type cast logic 2012-12-19 10:57:54 +01:00
threads.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
time.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
uchar.h uchar.h: define char16_t and char32_t for old c++ 2018-07-17 22:24:03 -04:00
ucontext.h fix signature of function accepted by makecontext 2019-04-05 17:29:00 -04:00
ulimit.h initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
unistd.h implement _Fork and refactor fork using it 2020-10-14 20:27:12 -04:00
utime.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
utmp.h add declarations for utmpname/utmpxname to appropriate headers 2016-02-12 09:58:50 -05:00
utmpx.h adjust utmpx struct layout for time64, 32-/64-bit arch compat 2019-12-22 12:37:16 -05:00
values.h add legacy header values.h 2013-01-04 20:36:34 +01:00
wait.h add workaround header for wait.h remapping to sys/wait.h 2013-09-01 01:01:31 -04:00
wchar.h make FILE a complete type for pre-C11 standard profiles 2019-03-12 15:24:00 -04:00
wctype.h improve iswdigit macro to diagnose errors 2015-05-02 21:19:08 -04:00
wordexp.h make brace placement in public header typedef'd structs consistent 2016-07-03 16:19:28 -04:00