af3c78886f
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 |
||
---|---|---|
.. | ||
bhnd_nvram_data_bcm.c | ||
bhnd_nvram_data_bcmraw.c | ||
bhnd_nvram_data_bcmreg.h | ||
bhnd_nvram_data_bcmvar.h | ||
bhnd_nvram_data_btxt.c | ||
bhnd_nvram_data_sprom_subr.c | ||
bhnd_nvram_data_sprom.c | ||
bhnd_nvram_data_spromvar.h | ||
bhnd_nvram_data_tlv.c | ||
bhnd_nvram_data_tlvreg.h | ||
bhnd_nvram_data.c | ||
bhnd_nvram_data.h | ||
bhnd_nvram_datavar.h | ||
bhnd_nvram_if.m | ||
bhnd_nvram_io.c | ||
bhnd_nvram_io.h | ||
bhnd_nvram_iobuf.c | ||
bhnd_nvram_ioptr.c | ||
bhnd_nvram_iores.c | ||
bhnd_nvram_iovar.h | ||
bhnd_nvram_plist.c | ||
bhnd_nvram_plist.h | ||
bhnd_nvram_plistvar.h | ||
bhnd_nvram_private.h | ||
bhnd_nvram_store_subr.c | ||
bhnd_nvram_store.c | ||
bhnd_nvram_store.h | ||
bhnd_nvram_storevar.h | ||
bhnd_nvram_subr.c | ||
bhnd_nvram_value_fmts.c | ||
bhnd_nvram_value_prf.c | ||
bhnd_nvram_value_subr.c | ||
bhnd_nvram_value.c | ||
bhnd_nvram_value.h | ||
bhnd_nvram_valuevar.h | ||
bhnd_nvram.h | ||
bhnd_sprom.c | ||
bhnd_spromvar.h | ||
nvram_map |