freebsd-dev/sys/dev/bhnd
Ed Schouten af3c78886f Alter the prototype of qsort_r(3) to match POSIX, which adopted the
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
2022-09-30 15:26:30 -07:00
..
bcma bhnd(4): Correct some typos in source code comments 2022-09-04 12:49:42 +02:00
bhndb bhnd: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 12:22:00 -07:00
cores bhnd: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 12:22:00 -07:00
nvram Alter the prototype of qsort_r(3) to match POSIX, which adopted the 2022-09-30 15:26:30 -07:00
siba bhnd: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 12:22:00 -07:00
tools
bhnd_bus_if.m bhnd(4): Correct some typos in source code comments 2022-09-04 12:49:42 +02:00
bhnd_debug.h
bhnd_erom_if.m
bhnd_erom_types.h
bhnd_erom.c bhnd(4): Correct some typos in source code comments 2022-09-04 12:49:42 +02:00
bhnd_erom.h
bhnd_eromvar.h
bhnd_ids.h
bhnd_match.h
bhnd_private.h
bhnd_subr.c bhnd: Use devclass_find to lookup devclass for bhnd. 2022-05-05 16:34:02 -07:00
bhnd_types.h
bhnd.c bhnd: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 12:22:00 -07:00
bhnd.h bhnd(4): Correct some typos in source code comments 2022-09-04 12:49:42 +02:00
bhndreg.h
bhndvar.h