1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-10-19 02:29:40 +00:00
freebsd/lib
Stefan Eßer e2650af157 Make CPU_SET macros compliant with other implementations
The introduction of <sched.h> improved compatibility with some 3rd
party software, but caused the configure scripts of some ports to
assume that they were run in a GLIBC compatible environment.

Parts of sched.h were made conditional on -D_WITH_CPU_SET_T being
added to ports, but there still were compatibility issues due to
invalid assumptions made in autoconfigure scripts.

The differences between the FreeBSD version of macros like CPU_AND,
CPU_OR, etc. and the GLIBC versions was in the number of arguments:
FreeBSD used a 2-address scheme (one source argument is also used as
the destination of the operation), while GLIBC uses a 3-adderess
scheme (2 source operands and a separately passed destination).

The GLIBC scheme provides a super-set of the functionality of the
FreeBSD macros, since it does not prevent passing the same variable
as source and destination arguments. In code that wanted to preserve
both source arguments, the FreeBSD macros required a temporary copy of
one of the source arguments.

This patch set allows to unconditionally provide functions and macros
expected by 3rd party software written for GLIBC based systems, but
breaks builds of externally maintained sources that use any of the
following macros: CPU_AND, CPU_ANDNOT, CPU_OR, CPU_XOR.

One contributed driver (contrib/ofed/libmlx5) has been patched to
support both the old and the new CPU_OR signatures. If this commit
is merged to -STABLE, the version test will have to be extended to
cover more ranges.

Ports that have added -D_WITH_CPU_SET_T to build on -CURRENT do
no longer require that option.

The FreeBSD version has been bumped to 1400046 to reflect this
incompatible change.

Reviewed by:	kib
MFC after:	2 weeks
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D33451
2021-12-30 12:20:32 +01:00
..
atf Do not build libatf-c++ when WITHOUT_CXX 2021-10-29 10:08:24 -04:00
clang Merge llvm-project 13.0.0 release 2021-11-13 21:49:29 +01:00
csu csu: define STRIP_FBSDID 2021-12-21 13:34:42 -05:00
flua jail(3lua): add jail.attach()/jail.remove() methods 2021-09-30 16:31:04 -05:00
geom gmultipath.8: Fix a typo 2021-12-10 14:33:34 +01:00
googletest googletest: Silence warnings about deprecated implicit copy constructors 2021-08-26 22:06:53 +02:00
lib9p lib9p: fix building on systems without capser 2021-01-04 20:48:48 +01:00
lib80211 lib80211: Start adding 11ac ETSI bits to regdomain.xml 2021-03-18 11:09:10 +00:00
libalias Rename NO_WERROR -> MK_WERROR=no 2021-01-07 09:31:03 +00:00
libarchive libarchive: import changes from upstream 2021-08-23 03:07:36 +02:00
libauditd libauditd: make it a PRIVATELIB 2020-04-19 02:20:39 +00:00
libbe zfs: unbreak build broken in 160388166 2021-06-08 22:21:11 +02:00
libbearssl Revert that! 2020-07-19 23:56:19 +00:00
libbegemot Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libblacklist Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libblocksruntime Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
libbluetooth bluetooth: Remove one more h4 reference. 2021-09-29 22:02:25 -06:00
libbsddialog bsddialog: import version 0.0.2 2021-12-21 16:13:00 +01:00
libbsdstat Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libbsm libbsm: fix some MLINKS 2020-04-19 02:18:40 +00:00
libbsnmp pkgbase: Put the mibs and defs in the bnsmp package 2021-06-19 17:50:03 +02:00
libbz2 Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libc Make CPU_SET macros compliant with other implementations 2021-12-30 12:20:32 +01:00
libc_nonshared
libc++ Move libc++ from /usr/lib to /lib 2021-12-29 14:51:28 -05:00
libc++experimental Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-11-13 21:42:03 +01:00
libcalendar Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libcam libcam: Define depop structures and introduce scsi_wrap 2021-09-20 16:27:59 -06:00
libcapsicum Add missing FreeBSD functions to -legacy when building on macOS/Linux 2020-08-25 13:23:31 +00:00
libcasper cap_net: fix verification of bind permission 2021-12-14 12:02:40 +01:00
libcbor Add libcbor to the build 2021-10-15 15:10:24 -04:00
libclang_rt Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-11-13 21:42:03 +01:00
libcom_err pkgbase: Create a FreeBSD-kerberos package 2021-09-07 10:23:14 +02:00
libcompat
libcompiler_rt Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-11-13 21:42:03 +01:00
libcrypt libcrypt: Drop inclusion of libutil.h 2021-12-07 00:24:19 +00:00
libcuse Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libcxxrt Only set WARNS if not defined 2020-09-11 13:28:37 +00:00
libdevctl Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libdevdctl Fix race in case of device destruction. 2021-04-13 11:25:27 -04:00
libdevinfo devinfo: add man page links 2020-08-04 21:09:36 +00:00
libdevstat Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libdl libc: include rtld.h into static implementations of rtld interface 2021-04-09 23:46:24 +03:00
libdpv libdialog: Bump shared library version to 10. 2021-10-27 09:30:24 -07:00
libdwarf libdwarf: Add a weak uncompress() symbol 2021-12-13 18:47:15 -05:00
libedit ncurses: chase dependency changes in the source tree 2021-10-04 11:38:24 +02:00
libefivar libefivar(3): efi_set_variables_supported.3 should be efi_variables_supported.3 2021-12-21 20:42:39 +08:00
libelf libelf: Link gelf_getchdr.3 to the build 2021-11-29 13:57:24 -05:00
libelftc Update ELF Tool Chain to upstream r3769 2019-12-05 13:20:15 +00:00
libevent1 rename in-tree libevent v1 to libevent1 2020-05-28 22:05:50 +00:00
libexecinfo Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
libexpat pkgbase: Put libbsdxml in FreeBSD-runtime 2021-09-07 10:22:45 +02:00
libfetch pkgbase: Create a FreeBSD-fetch package 2021-12-21 10:17:46 +01:00
libfido2 Add libfido2 to the build 2021-10-22 19:57:57 -04:00
libfigpar Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libgcc_eh Add build system support for ASAN+UBSAN instrumentation 2021-08-02 14:33:24 +01:00
libgcc_s libgcc_s: Export 64-bit int to 128-bit float functions 2021-10-03 19:34:25 +01:00
libgeom [skip ci] correct a few SPDX license tags 2021-07-07 13:52:20 -06:00
libgpio Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libgssapi Remove __NO_TLS. 2021-02-23 20:08:10 +02:00
libiconv_modules Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
libifconfig libifconfig: Overhaul ifconfig_media_* interfaces 2021-03-05 04:15:55 -05:00
libipsec ipsec_set_policy(3): fix sentence 2021-08-10 03:46:35 +03:00
libipt Update Intel Processor Trace decoder library. 2019-10-10 12:46:34 +00:00
libiscsiutil iscsi: Handle large Text responses. 2021-12-29 14:36:04 -08:00
libjail libjail: Handle an error from reallocarray() when trimming the buffer. 2020-01-07 21:44:27 +00:00
libkiconv libkiconv: address memory leak in not-found cases 2021-04-22 19:32:34 -04:00
libkvm Document 7f911abe's new functions came in 11.0 2021-12-15 16:18:59 -08:00
libldns Update Makefile.depend files 2019-12-11 17:37:53 +00:00
liblua contrib/lua: update to 5.4.2 2021-01-13 23:56:18 -06:00
liblutok Add liblutok a lightweight C++ API for lua. 2020-03-23 18:26:23 +00:00
liblzma Convert libs with pc files to use PCFILES 2021-03-16 07:13:07 +01:00
libmagic Convert libs with pc files to use PCFILES 2021-03-16 07:13:07 +01:00
libmd Add accelerated arm64 sha512 to libmd 2021-12-13 15:33:22 +00:00
libmemstat sys/bitset.h: reduce visibility of BIT_* macros 2021-12-05 23:00:25 +01:00
libmilter Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libmixer mixer: make .Dt tags uppercase 2021-11-20 08:58:36 +01:00
libmp Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libmt Add the LTO-9 density code to libmt and the mt(1) man page. 2020-12-10 21:06:06 +00:00
libnetbsd
libnetgraph Retire synchronous PPP kernel driver sppp(4). 2021-10-22 11:41:36 -07:00
libnetmap libnetmap: reset errno in nmreq_register_decode() 2021-04-02 14:31:57 +00:00
libngatm Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libnv libnv: bump sysctl for nvlist_send_recv__send_many_fds__dgram test 2021-12-20 15:57:47 -09:00
libomp Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-11-13 21:42:03 +01:00
libopenbsd Only set WARNS if not defined 2020-09-11 13:28:37 +00:00
libopencsd Update opencsd to 0.14.2 2020-06-17 10:42:20 +00:00
libopie Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libpam pkgbase: Put more binaries/lib in runtime 2021-12-21 10:17:27 +01:00
libpathconv Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
libpcap MFV r353141 (by phillip): 2019-12-21 21:01:03 +00:00
libpe
libpfctl pf tests: Test PR259689 2021-11-10 11:27:22 +01:00
libpjdlog pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libpmc libpmc: Update some x86 event definitions. 2021-11-25 11:19:26 -05:00
libpmcstat Make hwpmc work for userspace binaries again 2021-12-15 08:38:36 -05:00
libproc Remove the MK_LIBCPLUSPLUS option 2021-02-01 09:32:07 +00:00
libprocstat procstat_getfiles_sysctl: do not require non-null ki_fd 2021-12-03 00:52:49 +02:00
libradius libradius: fix WITHOUT_OPENSSL build 2021-10-28 17:05:53 -04:00
libregex pkgbase: Put more binaries/lib in runtime 2021-12-21 10:17:27 +01:00
librpcsec_gss Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
librpcsvc pkgbase: Put more binaries/lib in runtime 2021-12-21 10:17:27 +01:00
librss Update Makefile.depend files 2019-12-11 17:37:53 +00:00
librt Fix aio_readv(2), aio_writev(2) with SIGEV_THREAD. 2021-08-22 23:49:23 +12:00
librtld_db librtld_db: Handle shlibs with discontiguous mappings. 2021-12-03 11:07:30 -08:00
libsbuf Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
libsdp Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libsecureboot Move ve_check_hash prototype to libsecureboot-priv.h 2021-12-18 16:34:58 -08:00
libsm Merge sendmail 8.16.1 to HEAD: See contrib/sendmail/RELEASE_NOTES for details 2020-07-15 18:28:54 +00:00
libsmb
libsmdb Merge sendmail 8.16.1 to HEAD: See contrib/sendmail/RELEASE_NOTES for details 2020-07-15 18:28:54 +00:00
libsmutil
libsqlite3 [PowerPC64LE] Pass our byte order to the sqlite3 build. 2020-09-23 02:17:44 +00:00
libssp libssp: don't compile with -fstack-protector* 2020-03-14 15:15:27 +00:00
libssp_nonshared Provide libssp based on libc 2020-01-04 20:19:25 +00:00
libstats Make use of the stats(3) framework in the TCP stack. 2019-12-02 20:58:04 +00:00
libstdbuf
libstdthreads Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libsysdecode sysdecode_enum.3: Fix a typo: SIGBTRAP -> SIGTRAP. 2021-10-05 14:55:18 -07:00
libtacplus libtacplus: Remove bogus srandomdev+random 2019-12-13 05:11:34 +00:00
libtelnet
libthr libthr: Use <machine/tls.h> for most MD TLS details. 2021-12-09 13:17:41 -08:00
libthread_db Remove libthr, csu, libthread_db and testfloat sparc64 specific directories. 2020-02-27 04:44:58 +00:00
libucl Only set WARNS if not defined 2020-09-11 13:28:37 +00:00
libufs Consolodate four copies of the STDSB define into a single place. 2021-11-14 22:10:16 -08:00
libugidfw Deduplicate fsid comparisons 2020-05-21 01:55:35 +00:00
libulog Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libunbound MFV r361322: 2020-05-21 21:00:46 +00:00
libusb libusb: remove use of COMPAT_32BIT 2021-12-17 21:28:14 +00:00
libusbhid libusb: remove use of COMPAT_32BIT 2021-12-17 21:28:14 +00:00
libutil libutil: add kinfo_getswapvmobject(3) 2021-10-26 15:50:29 +03:00
libveriexec Do not claim libbearssl et al are INTERNALLIB 2020-04-01 05:45:12 +00:00
libvgl Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libvmmapi Remove an always-true check. 2021-09-15 09:03:17 -07:00
libwrap pkgbase: Put more binaries/lib in runtime 2021-12-21 10:17:27 +01:00
libxo add blank line between variables (testing git commit) 2021-08-04 16:56:55 -04:00
liby
libypclnt pkgbase: Put more binaries/lib in runtime 2021-12-21 10:17:27 +01:00
libz Bootstrap libz when cross-building from non-FreeBSD 2021-12-06 19:16:28 +00:00
libzstd libprivatezstd: Restrict symbol visibility similar to upstream 2021-01-03 11:26:46 -08:00
msun * lib/msun/Makefile b/lib/msun/Makefile: 2021-12-15 18:36:20 +00:00
ncurses ncurses: to not create a libncursesw.a in the OBJDIR 2021-11-24 11:02:22 +01:00
ofed Fix ibnd_* manpages sources 2021-02-18 15:59:34 +01:00
tests
Makefile Add an internal libiscsiutil library. 2021-12-22 10:43:11 -08:00
Makefile.inc build: provide a default WARNS for all in-tree builds 2020-09-18 17:17:46 +00:00