[PATCH v4 1/2] check-uapi: Introduce check-uapi.sh

John Moon quic_johmoo at quicinc.com
Mon Apr 3 12:53:54 PDT 2023


On 3/27/2023 10:41 AM, John Moon wrote:
> 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: John Moon <quic_johmoo at quicinc.com>
> ---
>      - Refactored to exclusively check headers installed by make
>        headers_install. This simplified the code dramatically and removed
>        the need to perform complex git diffs.
>      - Removed the "-m" flag. Since we're checking all installed headers
>        every time, a flag to check only modified files didn't make sense.
>      - Added info message when usr/include/Makefile is not present that
>        it's likely because that file was only introduced in v5.3.
>      - Changed default behavior of log file. Now, the script will not
>        create a log file unless you pass "-l <file>".
>      - Simplified exit handler.
>      - Added -j $MAX_THREADS to make headers_install to improve speed.
>      - Cleaned up variable references.


Hi Masahiro, just a friendly reminder about this patch. I believe we've 
addressed all of your comments from previous reviews and we're looking 
forward to your feedback on this version.

Thanks so much!

- John



More information about the linux-arm-kernel mailing list