On Tue, Nov 14, 2023 at 07:10:51PM +0900, Masahiro Yamada wrote: > On Sat, Oct 28, 2023 at 4:31 AM John Moon <quic_johmoo@xxxxxxxxxxx> 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@xxxxxxxxxxx> > > --- > > - Add abidiff suppressions to filter out common things like enum > > variants named .*_MAX being changed and expansion into padding > > fields. > > - Bump minimum abidiff version to 2.4 to accomodate new > > suppressions. > > - Add option (-i) to suppress ambiguous breaking changes. > > - Remove printing of full file diffs when ABI breakage is found > > as this was too noisy. > > - Wait for all files to be checked before printing results as > > printing from parallel threads was garbling output. > > - Suppress all output when -q is passed. > > - Avoid messing up user's git tree by using "git archive" instead > > of checking out references. > > > > The code looks almost good to me. > > (I left some more comments below, but they are minor). > > > > Greg, > Could you check the output from the tool? I will, give me a chance to catch up after the merge window and this week at Plumbers.... Should be a week or so, thanks. greg k-h