sys/_bitset.h: Fix fall-out from commit 5e04571cf3c

There is a reference to malloc() in #define __BITSET_ALLOC. Even
though this macro is only defined but not used, it causes the lang/gcc
ports to fail. The gcc ports "poison" a number of functions including
malloc() and prevent their use (including in macro definitions).

This commit moved the declaration of __BITSET_ALLOC into the
conditional block that depends on _KERNEL or _WANT_FREEBSD_BITSET
being defined.

There is no use of __BITSET_ALLOC in the FreeBSD sources, and userland
programs that want to use BITSEC_ALLOC will define _WANT_FREEBSD_BITSET
anyway.

This patch has been tested by building lang/gcc11 and a successful
make buildworld.

This commit shall be MFCed together with commit 5e04571cf3c.

MFC after:	1 month
This commit is contained in:
Stefan Eßer 2021-12-07 20:29:26 +01:00 committed by Sebastian Huber
parent 2f6651097e
commit c78c56c06d
1 changed files with 2 additions and 2 deletions

View File

@ -311,12 +311,12 @@
#define __BITSET_SIZE(_s) (__bitset_words((_s)) * sizeof(long)) #define __BITSET_SIZE(_s) (__bitset_words((_s)) * sizeof(long))
#if defined(_KERNEL) || defined(_WANT_FREEBSD_BITSET)
/* /*
* Dynamically allocate a bitset. * Dynamically allocate a bitset.
*/ */
#define __BITSET_ALLOC(_s, mt, mf) malloc(__BITSET_SIZE((_s)), mt, (mf)) #define __BITSET_ALLOC(_s, mt, mf) malloc(__BITSET_SIZE((_s)), mt, (mf))
#if defined(_KERNEL) || defined(_WANT_FREEBSD_BITSET)
#define BIT_AND(_s, d, s) __BIT_AND(_s, d, s) #define BIT_AND(_s, d, s) __BIT_AND(_s, d, s)
#define BIT_AND2(_s, d, s1, s2) __BIT_AND2(_s, d, s1, s2) #define BIT_AND2(_s, d, s1, s2) __BIT_AND2(_s, d, s1, s2)
#define BIT_ANDNOT(_s, d, s) __BIT_ANDNOT(_s, d, s) #define BIT_ANDNOT(_s, d, s) __BIT_ANDNOT(_s, d, s)
@ -358,6 +358,6 @@
#define BITSET_FSET(n) __BITSET_FSET(n) #define BITSET_FSET(n) __BITSET_FSET(n)
#define BITSET_SIZE(_s) __BITSET_SIZE(_s) #define BITSET_SIZE(_s) __BITSET_SIZE(_s)
#define BITSET_T_INITIALIZER(x) __BITSET_T_INITIALIZER(x) #define BITSET_T_INITIALIZER(x) __BITSET_T_INITIALIZER(x)
#endif #endif /* defined(_KERNEL) || defined(_WANT_FREEBSD_BITSET) */
#endif /* !_SYS_BITSET_H_ */ #endif /* !_SYS_BITSET_H_ */