opnsense-src/sys/dev/drm2
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
..
ttm pmap_unmapdev/bios: Accept a pointer instead of a vm_offset_t. 2022-09-22 15:08:52 -07:00
drm.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_agpsupport.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_atomic.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_auth.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_buffer.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_buffer.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_bufs.c kmem_malloc/free: Use void * instead of vm_offset_t for kernel pointers. 2022-09-22 15:09:19 -07:00
drm_context.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_core.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_crtc.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_crtc.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_crtc_helper.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_crtc_helper.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_dma.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_dp_helper.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_dp_helper.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_dp_iic_helper.c drm2: Remove unused devclass argument to DRIVER_MODULE. 2022-05-10 10:21:39 -07:00
drm_drv.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_edid.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_edid.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_edid_modes.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_fb_helper.c Adjust function definition in drm_fb_helper.c to avoid clang 15 warning 2022-08-14 21:27:34 +02:00
drm_fb_helper.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_fixed.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_fops.c Make device_busy/unbusy work w/o Giant held 2021-11-30 15:18:01 -07:00
drm_fourcc.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_gem.c vm_object: Modify various drivers to allocate OBJT_SWAP objects 2022-07-12 09:10:15 -04:00
drm_gem_names.c Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
drm_gem_names.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
drm_global.c drm2: Remove unused variables. 2022-04-13 16:08:22 -07:00
drm_global.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_hashtab.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_hashtab.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_ioc32.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_ioctl.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_irq.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_linux_list.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_linux_list_sort.c Alter the prototype of qsort_r(3) to match POSIX, which adopted the 2022-09-30 15:26:30 -07:00
drm_lock.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_mem_util.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_memory.c pmap_unmapdev/bios: Accept a pointer instead of a vm_offset_t. 2022-09-22 15:08:52 -07:00
drm_mm.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_mm.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_mode.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_modes.c drm2: Remove unused variables. 2022-04-13 16:08:22 -07:00
drm_os_freebsd.c drm2: Remove unused drm_devclass. 2022-05-10 10:21:39 -07:00
drm_os_freebsd.h drm2: Further improve deprecation message 2020-09-02 18:04:49 +00:00
drm_pci.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (5 of many) 2020-02-16 17:11:54 +00:00
drm_pciids.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_platform.c Fix some common typos in source code comments 2021-08-14 08:55:58 +02:00
drm_sarea.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_scatter.c kmem_malloc/free: Use void * instead of vm_offset_t for kernel pointers. 2022-09-22 15:09:19 -07:00
drm_stub.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
drm_sysctl.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (5 of many) 2020-02-16 17:11:54 +00:00
drm_vm.c Revert "drm2: Fix a typo in a source code comment" 2022-04-14 09:01:29 +02:00
drmP.h kmem_malloc/free: Use void * instead of vm_offset_t for kernel pointers. 2022-09-22 15:09:19 -07:00