From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 93243 invoked by alias); 26 Jun 2019 21:12:18 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 93234 invoked by uid 89); 26 Jun 2019 21:12:17 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-12.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_1,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy= X-HELO: gateway34.websitewelcome.com Received: from gateway34.websitewelcome.com (HELO gateway34.websitewelcome.com) (192.185.148.222) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 26 Jun 2019 21:12:15 +0000 Received: from cm11.websitewelcome.com (cm11.websitewelcome.com [100.42.49.5]) by gateway34.websitewelcome.com (Postfix) with ESMTP id A51782EFB7 for ; Wed, 26 Jun 2019 16:12:14 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id gFDChjKu5dnCegFDChIwA4; Wed, 26 Jun 2019 16:12:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=xTKKenLgV63GKTfNEPzfxOo9ePIArJKsJxnBvI2ltN8=; b=RNjvF9nLZgiskvJXOBBQP/u121 5Q7XG2XAYf/vvazX9Jzi7PMYppu246wylE/ZAmH8MYo7Kd5LLuL1tzaUOBdirnvijNdEGRstfQyZv cbLiG9Uj2Gg8Xz4irBjD5eGbd; Received: from 75-166-12-78.hlrn.qwest.net ([75.166.12.78]:43428 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1hgFDC-0034Ib-E9; Wed, 26 Jun 2019 16:12:14 -0500 From: Tom Tromey To: "Christian Biesinger via gdb-patches" Cc: Christian Biesinger Subject: Re: [PATCH] Add an Objfile.lookup_global_symbol function References: <20190625220832.247935-1-cbiesinger@google.com> Date: Wed, 26 Jun 2019 21:12:00 -0000 In-Reply-To: <20190625220832.247935-1-cbiesinger@google.com> (Christian Biesinger via gdb-patches's message of "Tue, 25 Jun 2019 17:08:32 -0500") Message-ID: <87lfxo3vbm.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2019-06/txt/msg00606.txt.bz2 >>>>> "Christian" == Christian Biesinger via gdb-patches writes: Christian> +static PyObject * Christian> +objfpy_lookup_global_symbol (PyObject *self, PyObject *args, PyObject *kw) Christian> +{ ... Christian> + if (!gdb_PyArg_ParseTupleAndKeywords (args, kw, "s|i", keywords, &symbol_name, Christian> + &domain)) Christian> + Py_RETURN_NONE; Error cases must return NULL. Christian> + if (!sym) { gdb style is an explicit check, like sym != nullptr. Also the brace is misplaced. Christian> struct block_symbol Christian> lookup_global_symbol_from_objfile (struct objfile *main_objfile, Christian> + int block_index, Christian> const char *name, Christian> const domain_enum domain) I suspect the new parameter should probably have type `enum block_enum'. Christian> + block_index can be GLOBAL_BLOCK, STATIC_BLOCK, etc. Does the "etc" case really work? If not it should just assert that the value is one of GLOBAL_BLOCK or STATIC_BLOCK. Christian> +gdb_test "python print (gdb.lookup_objfile (\"${testfile}\").lookup_global_symbol (\"global_var\").name)" \ Christian> + "global_var" "lookup_global_symbol find a valid symbol" Christian> +gdb_test "python print (gdb.lookup_objfile (\"${testfile}\").lookup_global_symbol (\"static_var\").name)" \ Christian> + "static_var" "lookup_global_symbol find a valid static symbol" Perhaps this ought to test a case where it returns None. Tom