mirror of
https://github.com/opnsense/src.git
synced 2026-04-25 08:07:28 -04:00
glibc-based interface. Unfortunately, the glibc maintainers, despite knowing the existence of the FreeBSD qsort_r(3) interface in 2004 and refused to add the same interface to glibc based on grounds of the lack of standardization and portability concerns, has decided it was a good idea to introduce their own qsort_r(3) interface in 2007 as a GNU extension with a slightly different and incompatible interface. With the adoption of their interface as POSIX standard, let's switch to the same prototype, there is no need to remain incompatible. C++ and C applications written for the historical FreeBSD interface get source level compatibility when building in C++ mode, or when building with a C compiler with C11 generics support, provided that the caller passes a fifth parameter of qsort_r() that exactly matches the historical FreeBSD comparator function pointer type and does not redefine the historical qsort_r(3) prototype in their source code. Symbol versioning is used to keep old binaries working. MFC: never Relnotes: yes Reviewed by: cem, imp, hps, pauamma Differential revision: https://reviews.freebsd.org/D17083 |
||
|---|---|---|
| .. | ||
| dynthr_mod | ||
| clearenv_test.c | ||
| cxa_thread_atexit_nothr_test.cc | ||
| cxa_thread_atexit_test.cc | ||
| dynthr_test.c | ||
| heapsort_test.c | ||
| Makefile | ||
| Makefile.depend | ||
| mergesort_test.c | ||
| qsort_b_test.c | ||
| qsort_r_compat_test.c | ||
| qsort_r_test.c | ||
| qsort_s_test.c | ||
| qsort_test.c | ||
| set_constraint_handler_s_test.c | ||
| strfmon_test.c | ||
| test-sort.h | ||
| tsearch_test.c | ||