• John Moon's avatar
    check-uapi: Introduce check-uapi.sh · 1f7f31bf
    John Moon authored
    While the kernel community has been good at maintaining backwards
    compatibility with kernel UAPIs, it would be helpful to have a tool
    to check if a commit introduces changes that break backwards
    compatibility.
    
    To that end, introduce check-uapi.sh: a simple shell script that
    checks for changes to UAPI headers using libabigail.
    
    libabigail is "a framework which aims at helping developers and
    software distributors to spot some ABI-related issues like interface
    incompatibility in ELF shared libraries by performing a static
    analysis of the ELF binaries at hand."
    
    The script uses one of libabigail's tools, "abidiff", to compile the
    changed header before and after the commit to detect any changes.
    
    abidiff "compares the ABI of two shared libraries in ELF format. It
    emits a meaningful report describing the differences between the two
    ABIs."
    
    The script also includes the ability to check the compatibility of
    all UAPI headers across commits. This allows developers to inspect
    the stability of the UAPIs over time.
    Signed-off-by: default avatarJohn Moon <quic_johmoo@quicinc.com>
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    1f7f31bf
check-uapi.sh 15 KB