OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-387-g2da0142

Gerrit Code Review gerrit@openafs.org
Wed, 19 Nov 2025 00:22:21 -0500


The following commit has been merged in the master branch:
commit 2da0142b2c87cd70d20078caa939a8c17d2ca268
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Mon Dec 23 12:56:03 2024 -0800

    tsm41: Use $(CC) to link
    
    Currently the Makefile rules for aklog_dynamic_auth, afs_dynamic_auth,
    and afs_dynamic_kerbauth use $(LD) to perform linking. On AIX with the
    new clang-based Open XL C 17.1+ compilers, these targets fail to build
    due to missing symbols:
    
        /usr/bin/ld -o afs_dynamic_auth aix_auth.o [...] -lsys -lcsys -lc
        ld: 0711-317 ERROR: Undefined symbol: .__udivdi3
        ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
        make: The error code from the last command is 8.
    
    The reference to __udivdi3 is added by the compiler, and appears to be
    for performing 64-bit integer division when hardware support is not
    available for whatever reason. The reference is specifically added in
    roken's snprintf.o, in append_number():
    
        	The following symbols are in error:
         Symbol                    Inpndx  TY CL Source-File(Object-File) OR Import-File{Shared-object}
                                      RLD: Address  Section  Rld-type Referencing Symbol
         ----------------------------------------------------------------------------------------------
         .__udivdi3                [11]    ER PR /home/build/openafs/src/external/heimdal/roken/snprintf.c(/home/build/openafs/lib/librokenafs.a[snprintf.o])
                                           00000c7c .text    R_RBR    [47]    <.append_number>
    
    The __udivdi3 symbol is part of the clang runtime and is found in the
    following library:
    
    /opt/IBM/openxlC/17.1.0/lib/clang/13.0.0/lib/aix/libclang_rt.builtins-powerpc.a
    
    But this is not used if we use $(LD) directly. To fix this, use $(CC) to
    perform linking, like we do almost everywhere else, which will use
    ibm-clang if we're building with Open XL C 17.1+ and will pull in the
    clang runtime automatically.
    
    Change-Id: I77d544a27cb87ec71665a1add9eb8449fefbf8a1
    Reviewed-on: https://gerrit.openafs.org/16573
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

 src/tsm41/Makefile.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 
OpenAFS Master Repository