Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp959364rdb; Fri, 22 Dec 2023 09:51:46 -0800 (PST) X-Google-Smtp-Source: AGHT+IFyi1HWZLdcd5Q/oAwGyuLpN5yGIMR+Z0xfzZTPpODJviDrrG/P2BIdzUnF3kHEfw5wMTh9 X-Received: by 2002:a1c:7c0f:0:b0:40b:5e4a:4088 with SMTP id x15-20020a1c7c0f000000b0040b5e4a4088mr864262wmc.168.1703267506407; Fri, 22 Dec 2023 09:51:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703267506; cv=none; d=google.com; s=arc-20160816; b=tPyrIavLUEPySnq+NI4RQZbcAtp7Jlk4QexZMKmh1muTzgDQHsbWOA/LEs7y+sHZm0 4hWoBLe0gY7cLnpCAPe/PqnmbHjkForoSJz7WugwXZOdoN2NvQTWQr4TH3W0IvI1SwpR HE3yDao0Tgu9VwmuE5EbEol46yS25sNKrWQMbynJ+hcfNxaeZcCuWqlatJAX4vcAwyQn mnlmSgIY2vQRkL8aW68dtfrpbRZjbX/l8+HEnrAmZspFJWSllFkXd6RP0nMdUe+E1Vbu ox6Lu30gio/ZKeHwSH8eeuXtDb2mfghbOWxcwrMItQG93+qGYFwah6YIY/cnZwnEDvJa Kowg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=R9QzbPob0kJ1PvQdge7IXGZDN4/9xNLDyzr9FN/vUzc=; fh=2ZADBtgrKcpdDEr9ePIu/6Vaj+OcDLhysJPm6aRD8/o=; b=oC8SOn1c8UA05UgldPDkDLH71+5VmOUs9QwD3qwe4EfAPl4RAtxv5tUHTelrXXvoO2 WSuskq9RfieXj7ZWYNBBqSwiHLGn/of1JZIddvFVT1ijUmaTgeA0cck+SbgNg2H5+P3W iXtXDL/cnsGDft/61kUqLWN2zYnHuD4gdTX5FBSQQ/0wLpexSfe0/xLKbjDBkQOGztg5 xIcSwZkgSXcP9ew5UXECvK7GIblGNyuMaCRElj9zv/Xkeo5J7ZlfStzeAwE69iWPebVg 94QG83oHgPNNMRY2GHj4Jiy4cZyS8OsYuWPESIVQb73uYHr2lIIio55pphLRPXpfDeQs 48DA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Nr2eYg5X; spf=pass (google.com: domain of linux-kernel+bounces-9982-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-9982-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id u26-20020a1709060b1a00b00a1d3027e7d6si1911643ejg.468.2023.12.22.09.51.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Dec 2023 09:51:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-9982-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Nr2eYg5X; spf=pass (google.com: domain of linux-kernel+bounces-9982-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-9982-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 2D6B51F23118 for ; Fri, 22 Dec 2023 17:51:46 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1B8DE2C186; Fri, 22 Dec 2023 17:51:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Nr2eYg5X" X-Original-To: linux-kernel@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3730F28E0A; Fri, 22 Dec 2023 17:51:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 98A71C433B6; Fri, 22 Dec 2023 17:51:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1703267492; bh=XYkTLXz5sCIMHIvk5gdWCMmheYIQY9KRL0JQbfxvslI=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Nr2eYg5XhFfecvofEEo9kZFq7DfnsBe+/6hFphrLrcFbiu7c7WohO4GUR/jhpV7Ts Xs5eaKFHowaj6xgl+jE5q0jx0z/HNIQ1nct/VWhFEWzCDDp6Bm400mZA6T2psQRlOM Zf/WwftRTXv+6CRkT0KjsGSFsB89ORKE6xcGE9MEKiHj3ICkyds4QP3TVOt4PUQG3R nvZNHkj6BMBJKbx4RNR6UR5pVfiXQA/B+DL7UJgH3ngfbUW4p1AB5h4zzuPLDkbx6U T61IC0JFKzF6b2WWUY33j6Oj/lU04ASLBu/XPn32PgQ8gnxQpekD+3SEfx+z4+zdID 0wDD5qg/jSHFw== Received: by mail-ot1-f49.google.com with SMTP id 46e09a7af769-6dbbef36fe0so827781a34.2; Fri, 22 Dec 2023 09:51:32 -0800 (PST) X-Gm-Message-State: AOJu0YyaErOZanNI8PuuWe5WHBhJXv3vpjBukLu70xnVNGZ3H0Oj+PfP TjcWC6tFYx1vD5WSfqUCBkLnVkqpDGUaASO/RJA= X-Received: by 2002:a05:6870:b4a0:b0:204:5a14:c4c6 with SMTP id y32-20020a056870b4a000b002045a14c4c6mr340753oap.50.1703267491808; Fri, 22 Dec 2023 09:51:31 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20231212020259.2451253-1-quic_johmoo@quicinc.com> <20231212020259.2451253-2-quic_johmoo@quicinc.com> In-Reply-To: <20231212020259.2451253-2-quic_johmoo@quicinc.com> From: Masahiro Yamada Date: Sat, 23 Dec 2023 02:50:55 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v7 1/3] check-uapi: Introduce check-uapi.sh To: John Moon Cc: Nathan Chancellor , Nick Desaulniers , Nicolas Schier , Jonathan Corbet , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, kernel@quicinc.com, Greg Kroah-Hartman , Rob Herring , "Carlos O'Donell" , Randy Dunlap , Arnd Bergmann , Bjorn Andersson , Todd Kjos , Matthias Maennich , Giuliano Procida , kernel-team@android.com, libabigail@sourceware.org, Dodji Seketeli , Trilok Soni , Satya Durga Srinivasu Prabhala , Jordan Crouse Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Dec 12, 2023 at 11:04=E2=80=AFAM 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 > --- > - Applied minor code style suggestions from v6 review. The code looks OK. I think it should work as designed. Line 197 is inconsistently indented by spaces instead of a space, but I can fix it up locally. I just thought requiring target commits as positional parameters ("check-uapi.sh treeA treeB" just like "git diff treeA treeB") might be intuitive, but I guess everything is specified by a short option is a design. I can live with that. I will wait a few days, and if there is nothing more, I will pick up 1/3 and 2/3. --=20 Best Regards Masahiro Yamada