From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <3v4UvYggKCqAGPROCIDAGOOGLE.COMLIBABIGAILSOURCEWARE.ORG@flex--gprocida.bounces.google.com> Received: from mail-ed1-x54a.google.com (mail-ed1-x54a.google.com [IPv6:2a00:1450:4864:20::54a]) by sourceware.org (Postfix) with ESMTPS id A4B4F3858D20 for ; Mon, 14 Mar 2022 18:13:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A4B4F3858D20 Received: by mail-ed1-x54a.google.com with SMTP id b24-20020a50e798000000b0041631767675so9238933edn.23 for ; Mon, 14 Mar 2022 11:13:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=BhQhpmsW/uv463XOsdbnOnZN477ndTGfDtjH5l+zzDM=; b=uORITVYpZoc/6jinxyTtXSGRZDtTelIXWU3Lzu88QLDrjEQQM8ueeG+18aJBLl3GMI dlzPNtjosx3TTWwnRwCu1AJa0r5xZ4jlzrFcBTpjBnSqct3gQzfH0Dq7aay+kNmteY0Z rzauf+egs9HBhbJubBu4qFz2XNzOBYjXAnt5qPIFIVvwl6jfu1jDxq7IYWbkC4J9Vr7/ vRsYBxUi63mj8e7n65rt+gJ8z7biQHjaGqXjGDBO4jEMRYutpnfde4oFp6+oGP3Njtuu rNdpaQE/NwexAbsGaB0yozHTz6mb0kTiA5N0CNQh8ZQQxwJ2hBmiPjp7SoGgmIfd/BXT 73vw== X-Gm-Message-State: AOAM531NhXWzvd8X4lvmUwusDblFTDDJH1WhzMWWK7kTvEjac+ASuqUC yrnFeeOAUF4H1AhhBsvdZL4vphKMmUq+px6L1ds2uGJOEKpu5v8lvvMs4K+tMpWVU9zbkvZGkA7 amzfnIPHkny2OdXmwmKKJDDGZJuf/YUcnqwVr1MD5NqWQLnKN/lguos34Tez97syGNsjcS5A= X-Google-Smtp-Source: ABdhPJx68rMlTNjT9jDcojiY8ODTCvnuaSYotKCN/EPzAubrX6KZrUHinJCvnFDG3IkOldtqYt9Eybuv+yfCOQ== X-Received: from tef.lon.corp.google.com ([2a00:79e0:d:210:26a:3b8d:2ee5:1224]) (user=gprocida job=sendgmr) by 2002:a05:6402:520a:b0:418:4d2b:de94 with SMTP id s10-20020a056402520a00b004184d2bde94mr14437776edd.54.1647281599937; Mon, 14 Mar 2022 11:13:19 -0700 (PDT) Date: Mon, 14 Mar 2022 18:13:10 +0000 Message-Id: <20220314181312.3436802-1-gprocida@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.35.1.723.g4982287a31-goog Subject: [PATCH 0/2] Bug 28954 - add Linux Kernel symbol namespace support From: Giuliano Procida To: libabigail@sourceware.org Cc: dodji@seketeli.org, kernel-team@android.com, gprocida@google.com, maennich@google.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-15.3 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2022 18:13:23 -0000 Hi Dodji. These two patches aim to add kernel symbol namespace support. There are two bits of this that could be debated (and easily changed). A. choice of XML attribute name I've chosen "ns", mostly because "namespace" implies C++ namespace everywhere else. B. choice of representation There are several possible levels of distinction of presence: 1. Non-kernel symbols cannot be exported to a namespace. 2. Kernel symbols can be exported globally and not to namespace. 3. Kernel symbols can be exported to a named namespace. And there is the option of treating the empty namespace name string specially. I've chosen to represent namespace internally as optional and not distinguish between cases 1 and 2. Regards. Giuliano Procida (2): optional: add operator== and operator!= add Linux kernel symbol namespace support include/abg-cxx-compat.h | 16 +++++++++++++ include/abg-ir.h | 9 ++++++++ src/abg-comp-filter.cc | 39 +++++++++++++++++++++++++++++++- src/abg-ir.cc | 27 +++++++++++++++++++++- src/abg-reader.cc | 7 ++++++ src/abg-reporter-priv.cc | 12 ++++++++++ src/abg-symtab-reader.cc | 49 ++++++++++++++++++++++++++++++++++++++++ src/abg-writer.cc | 4 ++++ 8 files changed, 161 insertions(+), 2 deletions(-) -- 2.35.1.723.g4982287a31-goog