OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_1-272-g2357ac6

Gerrit Code Review gerrit@openafs.org
Thu, 29 Jun 2023 12:54:47 -0400


The following commit has been merged in the master branch:
commit 2357ac6ae59ad1908b14b5e76e5931c7071ee9a2
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 27 12:31:30 2023 -0600

    cf: Fix cast-function-type err w/disable-checking
    
    If the Linux kernel has CONFIG_WERROR enabled, and openafs is configured
    with --disable-checking, the libafs kernel module fails to build:
    
        /src/libafs/MODLOAD-5.14.0-305.el9.x86_64-MP/evp.c:501:9:
           error: cast between incompatible function types from
           ‘void (*)(void *)’ to ‘int (*)(EVP_MD_CTX *)’ {aka
           ‘int (*)(struct hc_EVP_MD_CTX *)’} [-Werror=cast-function-type]
        501 |         (hc_evp_md_init)null_Init,
            |         ^
    
    The openafs commit:
    
       Linux-5.17: Kernel build uses -Wcast-function-type (6bdfa97673)
    
    fixed above error when the Linux kernel has CONFIG_WERROR enabled and
    openafs is configured with --enable-checking.  But we will still fail
    when CONFIG_WERROR is enabled and openafs is configured with
    --disable-checking (which is the default).
    
    Update osconf.m4 to always set CFLAGS_NOCAST_FUNCTION_TYPE, so that it
    can be used to avoid the above compiler check even when checking is
    disabled.
    
    NOTE: The only use of CFLAGS_NOCAST_FUNCTION_TYPE is to correct the
    warnings flagged in external/heimdal/hcrypto/evp.c and evp-algs.c.
    
    NOTE: --enable-checking=all can be used to bypass setting the define.
    
    Change-Id: I39824f38cfbcf045f59744de5109a99fd4ad041a
    Reviewed-on: https://gerrit.openafs.org/15417
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

 src/cf/osconf.m4 | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

-- 
OpenAFS Master Repository