OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_1-232-gf81b01d

Gerrit Code Review gerrit@openafs.org
Thu, 8 Dec 2022 11:49:11 -0500


The following commit has been merged in the master branch:
commit f81b01de1a51f02798ac764fb2f6948b592639da
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Dec 1 12:55:26 2022 -0700

    cf: Detect how to pass CFLAGS to linux kbuild
    
    The autoconf test LINUX_KBUILD_USES_EXTRA_CFLAGS fails on modern kernels
    when detecting how to pass CFLAGS to the compiler when building a Linux
    kernel module.  The result of this test is used by configure when
    testing for Linux kernel features.
    
    In addition the EXTRA_CFLAGS method of passing compiler parameters has
    been deprecated since Linux 2.6.24 commit:
        "kbuild: introduce ccflags-y, asflags-y and ldflags-y" (f77bf01425b)
    
    The currently preferred method is to use the make variable 'ccflags-y'
    to set compiler flags.
    
    Replace the autoconf function LINUX_KBUILD_USES_EXTRA_CFLAGS with a new
    test, LINUX_KBUILD_FIND_CFLAGS_METHOD, that checks the various ways to
    pass compiler flags when building the kernel module.
    
    Set the build variable "LINUX_KBUILD_CFLAGS_VAR" with the determined
    method for setting kbuild compiler flags.
    
    Update the AC_TRY_KBUILD26 autoconf function and the
    make_kbuild_makefile.pl script to use the determined method for setting
    the compiler flags for the kbuild process.
    
    Background:
    
    The autoconf test, LINUX_KBUILD_USES_EXTRA_CFLAGS, is used to determine
    when to use either CFLAGS for EXTRA_CFLAGS when performing other
    autoconf tests for Linux kernel features. The test was added with the
    openafs commit:
     "linux-2624-20071123" (af7cf697ef8)
    
    LINUX_KBUILD_USES_EXTRA_CFLAGS relied on the Linux 2.6.24 commit:
     "kbuild: check for wrong use of CFLAGS" (0c53c8e6eb4)
    which caused a build failure if CFLAGS where used instead of
    EXTRA_CFLAGS.
    
    Later with the Linux 4.20 commit:
     "kbuild: remove old check for CFLAGS use" (0d91bf584fe)
    which removed the build failure when CFLAGS were set and this resulted
    in LINUX_KBUILD_USES_EXTRA_CFLAGS failing to properly determining how to
    set compiler flags in the kbuild process.
    
    As mentioned above, the EXTRA_CFLAGS method itself has been deprecated
    in Linux 2.6.24, but support for using it has still present in the
    kbuild processes.
    
    Change-Id: I8ce3a8c9af4785ae85d0bbd5962c573a35d8748e
    Reviewed-on: https://gerrit.openafs.org/15196
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

 src/cf/linux-checks.m4             |  2 +-
 src/cf/linux-test1.m4              | 48 +++++++++++++++++++++++++++-----------
 src/libafs/MakefileProto.LINUX.in  |  1 +
 src/libafs/make_kbuild_makefile.pl |  8 ++++++-
 4 files changed, 43 insertions(+), 16 deletions(-)

-- 
OpenAFS Master Repository