OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-32-gd98377c

Gerrit Code Review gerrit@openafs.org
Thu, 12 Dec 2024 11:31:43 -0500


The following commit has been merged in the master branch:
commit d98377ca72e8d96aa2f6318a56689140b0dcb3c6
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Sat Nov 30 13:27:53 2024 -0800

    AIX: Update libafs CFLAGS for Open XL C 17.1+
    
    When building the libafs kernel module, we pass various flags to the
    compiler and linker, some of which no longer work with the clang-based
    Open XL C 17.1 and newer:
    
    On XL C 16.1 and below, the -M argument causes a file to be generated
    with a listing of all the files upon which the .o is dependent.  This
    file is created with the same name as the .o file, but with a .u
    extension.  With the Open XL C 17.1+ compilers, the -M file acts
    similarly, but if -o is specified, the dependency file is created
    with the name specified by the -o argument.  This causes the
    dependency file to be created but not the actual object code file.
    Because the compiler invocation succeeds, this repeats until it is
    time to link, which fails because the .o files are not actually code,
    but ascii files containing the dependency information.  We don't
    actually use the .u files for anything, so to avoid this issue, remove
    the -M flag.
    
    The -H8 flag is a linker argument that aligns the text, data, and loader
    sections of the output file so that each section begins on a file offset
    that is a multiple of 8. On XL C 16.1 and below, the compiler passes
    unrecognized arguments to the linker, and so giving -H8 to the compiler
    works fine. But with XL C 17.1+, the compiler does not pass unrecognized
    arguments to the linker, and throws an error instead. To avoid this,
    move -H8 from KDEFS to LDFLAGS, so it's given only to the linker and not
    to the compiler.
    
    The -q64 flag no longer exists with XL C 17.1+, and is replaced by -m64.
    Use ${XCFLAGS64} instead of -q64, which will choose the correct flag to
    use, like we did in commit aa82a8894f (export: Use XCFLAGS64 for -q64).
    
    Change-Id: I2527a604000507ec27adb37338d98a6852ad3131
    Reviewed-on: https://gerrit.openafs.org/15974
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

 src/libafs/MakefileProto.AIX.in | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
OpenAFS Master Repository