git: 22c4ab6cb015 - main - sys/_bitset.h: Fix fall-out from commit 5e04571cf3c

From: Stefan Eßer <se_at_FreeBSD.org>
Date: Tue, 07 Dec 2021 19:35:53 UTC
The branch main has been updated by se:

URL: https://cgit.FreeBSD.org/src/commit/?id=22c4ab6cb015dc99eb82504e5fd957662cded3c3

commit 22c4ab6cb015dc99eb82504e5fd957662cded3c3
Author:     Stefan Eßer <se@FreeBSD.org>
AuthorDate: 2021-12-07 19:29:26 +0000
Commit:     Stefan Eßer <se@FreeBSD.org>
CommitDate: 2021-12-07 19:29:26 +0000

    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
---
 sys/sys/bitset.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/sys/bitset.h b/sys/sys/bitset.h
index 91a5e6e37db3..47c4106d4127 100644
--- a/sys/sys/bitset.h
+++ b/sys/sys/bitset.h
@@ -308,12 +308,12 @@
 
 #define	__BITSET_SIZE(_s)	(__bitset_words((_s)) * sizeof(long))
 
+#if defined(_KERNEL) || defined(_WANT_FREEBSD_BITSET)
 /*
  * Dynamically allocate a bitset.
  */
 #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_AND2(_s, d, s1, s2)			__BIT_AND2(_s, d, s1, s2)
 #define	BIT_ANDNOT(_s, d, s)			__BIT_ANDNOT(_s, d, s)
@@ -355,6 +355,6 @@
 #define	BITSET_FSET(n)				__BITSET_FSET(n)
 #define	BITSET_SIZE(_s)				__BITSET_SIZE(_s)
 #define	BITSET_T_INITIALIZER(x)			__BITSET_T_INITIALIZER(x)
-#endif
+#endif /* defined(_KERNEL) || defined(_WANT_FREEBSD_BITSET) */
 
 #endif /* !_SYS_BITSET_H_ */