Unverified Commit 7245ffdb authored by Artemis Tosini's avatar Artemis Tosini Committed by GitHub
Browse files

freebsd: 14.1 → 14.2 (#396624)

parents 79739d8c 523f8192
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
  generateSplicesForMkScope,
  callPackage,
  attributePathToSplice ? [ "freebsd" ],
  branch ? "release/14.1.0",
  branch ? "release/14.2.0",
}:

let
+0 −239
Original line number Diff line number Diff line
commit 36d486cc2ecdb9c290dba65bd5668b7e50d0d822
Author: Dimitry Andric <dim@FreeBSD.org>
Date:   Wed Jul 31 11:43:50 2024 +0200

    Fix enum warning in ath_hal's ar9002
    
    This fixes a clang 19 warning:
    
        sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c:57:32: error: comparison of different enumeration types ('HAL_BOOL' and 'HAL_ANT_SETTING') [-Werror,-Wenum-compare]
           57 |             (AH5212(ah)->ah_diversity != HAL_ANT_VARIABLE)) {
              |              ~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~
    
    The `ah_diversity` field of `struct ath_hal_5212` is of type `HAL_BOOL`,
    not the enum type `HAL_ANT_SETTING`. In other code, `ah_diversity` is
    set to `AH_TRUE` whenever the related field `ah_antControl` is set to
    `HAL_ANT_VARIABLE`.
    
    It is not entirely clear to me what the intended statement is here: the
    test as it is written now compares the enum value 0 to `ah_diversity`,
    so in effect it enables the following block whenever `ah_diversity` is
    `AH_TRUE`. Write it like that, to avoid the compiler warning.
    
    MFC after:      3 days

diff --git a/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c b/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c
index 01a224cbbfe9..fb2700771ffa 100644
--- a/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c
+++ b/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c
@@ -54,7 +54,7 @@ ar9285BTCoexAntennaDiversity(struct ath_hal *ah)
 	    !! (ahp->ah_btCoexFlag & HAL_BT_COEX_FLAG_ANT_DIV_ENABLE));
 
 	if ((ahp->ah_btCoexFlag & HAL_BT_COEX_FLAG_ANT_DIV_ALLOW) ||
-	    (AH5212(ah)->ah_diversity != HAL_ANT_VARIABLE)) {
+	    (AH5212(ah)->ah_diversity == AH_TRUE)) {
 	if ((ahp->ah_btCoexFlag & HAL_BT_COEX_FLAG_ANT_DIV_ENABLE) &&
 	     (AH5212(ah)->ah_antControl == HAL_ANT_VARIABLE)) {
 		/* Enable antenna diversity */
commit 82246ac5d890e031c9978052e5a431e0960182d5
Author: Dimitry Andric <dim@FreeBSD.org>
Date:   Wed Jul 31 11:37:20 2024 +0200

    Fix enum warnings in ath_hal's ar9300
    
    This fixes a number of clang 19 warnings:
    
        sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c:709:25: error: comparison of different enumeration types ('HAL_BOOL' and 'HAL_FREQ_BAND') [-Werror,-Wenum-compare]
          709 |         freq_array[i] = FBIN2FREQ(p_freq_bin[i], is_2ghz);
              |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h:148:11: note: expanded from macro 'FBIN2FREQ'
          148 |     (((y) == HAL_FREQ_BAND_2GHZ) ? (2300 + x) : (4800 + 5 * x))
              |       ~~~ ^  ~~~~~~~~~~~~~~~~~~
        sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c:745:25: error: comparison of different enumeration types ('HAL_BOOL' and 'HAL_FREQ_BAND') [-Werror,-Wenum-compare]
          745 |         freq_array[i] = FBIN2FREQ(p_freq_bin[i], is_2ghz);
              |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h:148:11: note: expanded from macro 'FBIN2FREQ'
          148 |     (((y) == HAL_FREQ_BAND_2GHZ) ? (2300 + x) : (4800 + 5 * x))
              |       ~~~ ^  ~~~~~~~~~~~~~~~~~~
        sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c:781:25: error: comparison of different enumeration types ('HAL_BOOL' and 'HAL_FREQ_BAND') [-Werror,-Wenum-compare]
          781 |         freq_array[i] = FBIN2FREQ(p_freq_bin[i], is_2ghz);
              |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h:148:11: note: expanded from macro 'FBIN2FREQ'
          148 |     (((y) == HAL_FREQ_BAND_2GHZ) ? (2300 + x) : (4800 + 5 * x))
              |       ~~~ ^  ~~~~~~~~~~~~~~~~~~
    
    The `FBIN2FREQ()` and `FREQ2FBIN()` macros in `ar9300eep.h` are invoked
    in most places around the `ath_hal` code with a (effectively) boolean
    second argument, corresponding to "is this 2GHz?". But in the code that
    is warned about, the value `HAL_FREQ_BAND_2GHZ` is of a different
    non-boolean type, `HAL_FREQ_BAND`.
    
    Update the `FBIN2FREQ()` and `FREQ2FBIN()` macros to interpret the
    second argument as boolean value, and rename the macro parameter names
    to better describe their meaning.
    
    Reviewed by:    adrian, bz
    MFC after:      3 days
    Differential Revision: https://reviews.freebsd.org/D46201

diff --git a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h
index 9230fd57e2e4..b2a0862c7aee 100644
--- a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h
+++ b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h
@@ -142,10 +142,10 @@ enum Ar9300EepromTemplate
 #define OSPREY_EEPMISC_WOW           0x02
 #define OSPREY_CUSTOMER_DATA_SIZE    20
 
-#define FREQ2FBIN(x,y) \
-    (u_int8_t)(((y) == HAL_FREQ_BAND_2GHZ) ? ((x) - 2300) : (((x) - 4800) / 5))
-#define FBIN2FREQ(x,y) \
-    (((y) == HAL_FREQ_BAND_2GHZ) ? (2300 + x) : (4800 + 5 * x))
+#define FREQ2FBIN(freq,is_2ghz) \
+    (u_int8_t)((is_2ghz) ? ((freq) - 2300) : (((freq) - 4800) / 5))
+#define FBIN2FREQ(freq,is_2ghz) \
+    ((is_2ghz) ? (2300 + freq) : (4800 + 5 * freq))
 #define OSPREY_MAX_CHAINS            3
 #define OSPREY_ANT_16S               25
 #define OSPREY_FUTURE_MODAL_SZ       6
commit 1bd66fac35ec27fa64d6158f82fdcbdc26098679
Author: Dimitry Andric <dim@FreeBSD.org>
Date:   Wed Jul 31 13:14:17 2024 +0200

    Fix enum warning in isci
    
    This fixes a clang 19 warning:
    
        sys/dev/isci/scil/scif_sas_smp_remote_device.c:197:26: error: comparison of different enumeration types ('SCI_IO_STATUS' (aka 'enum _SCI_IO_STATUS') and 'enum _SCI_STATUS') [-Werror,-Wenum-compare]
          197 |    if (completion_status == SCI_FAILURE_RETRY_REQUIRED)
              |        ~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    The `completion_status` variable is of type `SCI_IO_STATUS`, not
    `SCI_STATUS`. In this case, we can seamlessly replace the value with
    `SCI_IO_FAILURE_RETRY_REQUIRED`, which is numerically equal to
    `SCI_FAILURE_RETRY_REQUIRED`.
    
    MFC after:      3 days

diff --git a/sys/dev/isci/scil/scif_sas_smp_remote_device.c b/sys/dev/isci/scil/scif_sas_smp_remote_device.c
index d6055adc13f9..c72402f66889 100644
--- a/sys/dev/isci/scil/scif_sas_smp_remote_device.c
+++ b/sys/dev/isci/scil/scif_sas_smp_remote_device.c
@@ -194,7 +194,7 @@ SCI_STATUS scif_sas_smp_remote_device_decode_smp_response(
 
    //if Core set the status of this io to be RETRY_REQUIRED, we should
    //retry the IO without even decode the response.
-   if (completion_status == SCI_FAILURE_RETRY_REQUIRED)
+   if (completion_status == SCI_IO_FAILURE_RETRY_REQUIRED)
    {
       scif_sas_smp_remote_device_continue_current_activity(
          fw_device, fw_request, SCI_FAILURE_RETRY_REQUIRED
commit 357378bbdedf24ce2b90e9bd831af4a9db3ec70a
Author: Dimitry Andric <dim@FreeBSD.org>
Date:   Wed Jul 31 14:21:25 2024 +0200

    Fix enum warnings in qat
    
    This fixes a number of clang 19 warnings:
    
        sys/dev/qat/qat_api/common/compression/dc_session.c:154:15: error: comparison of different enumeration types ('enum _CpaBoolean' and 'icp_qat_hw_compression_delayed_match_t') [-Werror,-Wenum-compare]
          154 |         if (CPA_TRUE == pService->comp_device_data.enableDmm) {
              |             ~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        sys/dev/qat/qat_api/common/compression/dc_session.c:285:17: error: comparison of different enumeration types ('enum _CpaBoolean' and 'icp_qat_hw_compression_delayed_match_t') [-Werror,-Wenum-compare]
          285 |                     (CPA_TRUE == pService->comp_device_data.enableDmm) ?
              |                      ~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    The `enableDmm` field of variable `comp_device_data` is of type
    `icp_qat_hw_compression_delayed_match_t`, not `CpaBoolean`. In this
    case, we can seamlessly replace the value with
    `ICP_QAT_HW_COMPRESSION_DELAYED_MATCH_ENABLED`, which is numerically
    equal to `CPA_TRUE`.
    
    MFC after:      3 days

diff --git a/sys/dev/qat/qat_api/common/compression/dc_session.c b/sys/dev/qat/qat_api/common/compression/dc_session.c
index c92d6eebdc47..60f4410dac32 100644
--- a/sys/dev/qat/qat_api/common/compression/dc_session.c
+++ b/sys/dev/qat/qat_api/common/compression/dc_session.c
@@ -151,7 +151,8 @@ dcCompHwBlockPopulate(sal_compression_service_t *pService,
 	}
 
 	/* Set delay match mode */
-	if (CPA_TRUE == pService->comp_device_data.enableDmm) {
+	if (ICP_QAT_HW_COMPRESSION_DELAYED_MATCH_ENABLED ==
+	    pService->comp_device_data.enableDmm) {
 		dmm = ICP_QAT_HW_COMPRESSION_DELAYED_MATCH_ENABLED;
 	} else {
 		dmm = ICP_QAT_HW_COMPRESSION_DELAYED_MATCH_DISABLED;
@@ -282,7 +283,8 @@ dcCompHwBlockPopulateGen4(sal_compression_service_t *pService,
 		hw_comp_lower_csr.hash_update =
 		    ICP_QAT_HW_COMP_20_SKIP_HASH_UPDATE_DONT_ALLOW;
 		hw_comp_lower_csr.edmm =
-		    (CPA_TRUE == pService->comp_device_data.enableDmm) ?
+		    (ICP_QAT_HW_COMPRESSION_DELAYED_MATCH_ENABLED ==
+			pService->comp_device_data.enableDmm) ?
 		    ICP_QAT_HW_COMP_20_EXTENDED_DELAY_MATCH_MODE_EDMM_ENABLED :
 		    ICP_QAT_HW_COMP_20_EXTENDED_DELAY_MATCH_MODE_EDMM_DISABLED;
 
commit 67be1e195acfaec99ce4fffeb17111ce085755f7
Author: Dimitry Andric <dim@FreeBSD.org>
Date:   Wed Jul 31 13:01:20 2024 +0200

    Fix enum warning in iavf
    
    This fixes a clang 19 warning:
    
        sys/dev/iavf/iavf_lib.c:514:39: error: comparison of different enumeration types ('enum virtchnl_vsi_type' and 'enum iavf_vsi_type') [-Werror,-Wenum-compare]
          514 |                 if (sc->vf_res->vsi_res[i].vsi_type == IAVF_VSI_SRIOV)
              |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~
    
    The `vsi_type` field of `struct virtchnl_vsi_resource` is of type `enum
    virtchnl_vsi_type`, not `enum iavf_vsi_type`. In this case, we can
    seamlessly replace the value with `VIRTCHNL_VSI_SRIOV`, which is
    numerically equal to `IAVF_VSI_SRIOV`.
    
    MFC after:      3 days

diff --git a/sys/dev/iavf/iavf_lib.c b/sys/dev/iavf/iavf_lib.c
index 883a722b3a03..f80e3765448f 100644
--- a/sys/dev/iavf/iavf_lib.c
+++ b/sys/dev/iavf/iavf_lib.c
@@ -511,7 +511,7 @@ iavf_get_vsi_res_from_vf_res(struct iavf_sc *sc)
 
 	for (int i = 0; i < sc->vf_res->num_vsis; i++) {
 		/* XXX: We only use the first VSI we find */
-		if (sc->vf_res->vsi_res[i].vsi_type == IAVF_VSI_SRIOV)
+		if (sc->vf_res->vsi_res[i].vsi_type == VIRTCHNL_VSI_SRIOV)
 			sc->vsi_res = &sc->vf_res->vsi_res[i];
 	}
 	if (!sc->vsi_res) {
commit 6f25b46721a18cf4f036d041e7e5d275800a00b3
Author: Dimitry Andric <dim@FreeBSD.org>
Date:   Tue Jul 30 20:31:47 2024 +0200

    Fix enum warning in heimdal
    
    This fixes a clang 19 warning:
    
    crypto/heimdal/lib/krb5/deprecated.c:75:17: error: comparison of different enumeration types ('krb5_keytype' (aka 'enum ENCTYPE') and 'enum krb5_keytype_old') [-Werror,-Wenum-compare]
       75 |     if (keytype != KEYTYPE_DES || context->etypes_des == NULL)
          |         ~~~~~~~ ^  ~~~~~~~~~~~
    
    In https://github.com/heimdal/heimdal/commit/3bebbe5323 this was solved
    by adding a cast. That commit is rather large, so I'm only applying the
    one-liner here.
    
    MFC after:      3 days

diff --git a/crypto/heimdal/lib/krb5/deprecated.c b/crypto/heimdal/lib/krb5/deprecated.c
index e7c0105ebf7f..02cf7614f932 100644
--- a/crypto/heimdal/lib/krb5/deprecated.c
+++ b/crypto/heimdal/lib/krb5/deprecated.c
@@ -72,7 +72,7 @@ krb5_keytype_to_enctypes_default (krb5_context context,
     unsigned int i, n;
     krb5_enctype *ret;
 
-    if (keytype != KEYTYPE_DES || context->etypes_des == NULL)
+    if (keytype != (krb5_keytype)KEYTYPE_DES || context->etypes_des == NULL)
 	return krb5_keytype_to_enctypes (context, keytype, len, val);
 
     for (n = 0; context->etypes_des[n]; ++n)
+0 −25
Original line number Diff line number Diff line
commit d575077527d448ee45b923fa8c6b0cb7216ca5c5
Author: Dimitry Andric <dim@FreeBSD.org>
Date:   Tue Jul 30 20:28:51 2024 +0200

    bsd.sys.mk: for clang >= 19, similar to gcc >= 8.1, turn off -Werror for
    -Wcast-function-type-mismatch.
    
    PR:             280562
    MFC after:      1 month

diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index 52c3d07746c7..1934a79a5427 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -88,6 +88,10 @@ CWARNFLAGS.clang+=	-Wno-unused-const-variable
 .if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 150000
 CWARNFLAGS.clang+=	-Wno-error=unused-but-set-parameter
 .endif
+.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 190000
+# Similar to gcc >= 8.1 -Wno-error=cast-function-type below
+CWARNFLAGS.clang+=	-Wno-error=cast-function-type-mismatch
+.endif
 .endif # WARNS <= 6
 .if ${WARNS} <= 3
 CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-unused-value\
+0 −41
Original line number Diff line number Diff line
From 22cdafe197ac960c5ce839ef6ec699b59f4b0080 Mon Sep 17 00:00:00 2001
From: Warner Losh <imp@FreeBSD.org>
Date: Sat, 20 Jul 2024 09:57:53 -0600
Subject: cdefs.h: Don't define fallback for _Static_assert

Remove pre 4.6 code to define _Static_assert in terms of _COUNTER.  We
no longer need to support compilers this old (in fact support for all
pre gcc 10 compilers has been removed in -current). This is a partial
MFC of that work because removing this fixes a bug that's oft reported
with -pedantic-errors and C++98 compilations.

PR: 280382, 276738
Sponsored by:		Netflix

This is a direct commit to stable/14.
---
 sys/sys/cdefs.h | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h
index 19b7d8fe427d..a52864c5db9d 100644
--- a/sys/sys/cdefs.h
+++ b/sys/sys/cdefs.h
@@ -277,15 +277,6 @@
 #if (defined(__cplusplus) && __cplusplus >= 201103L) || \
     __has_extension(cxx_static_assert)
 #define	_Static_assert(x, y)	static_assert(x, y)
-#elif __GNUC_PREREQ__(4,6) && !defined(__cplusplus)
-/* Nothing, gcc 4.6 and higher has _Static_assert built-in */
-#elif defined(__COUNTER__)
-#define	_Static_assert(x, y)	__Static_assert(x, __COUNTER__)
-#define	__Static_assert(x, y)	___Static_assert(x, y)
-#define	___Static_assert(x, y)	typedef char __assert_ ## y[(x) ? 1 : -1] \
-				__unused
-#else
-#define	_Static_assert(x, y)	struct __hack
 #endif
 #endif
 
-- 
cgit v1.2.3
Loading