From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 95938 invoked by alias); 3 Mar 2020 15:48:54 -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 95892 invoked by uid 89); 3 Mar 2020 15:48:47 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-6.9 required=5.0 tests=BAYES_00,GIT_PATCH_1,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy= X-HELO: gateway30.websitewelcome.com Received: from gateway30.websitewelcome.com (HELO gateway30.websitewelcome.com) (192.185.179.30) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 03 Mar 2020 15:48:45 +0000 Received: from cm17.websitewelcome.com (cm17.websitewelcome.com [100.42.49.20]) by gateway30.websitewelcome.com (Postfix) with ESMTP id 42DE026F2DF for ; Tue, 3 Mar 2020 09:48:43 -0600 (CST) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id 99mlj6P6KAGTX99mljEbT5; Tue, 03 Mar 2020 09:48:43 -0600 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=1en0bDMDBRTUY84cwRiICJ/seEROpgDfLjsDfeYjQGA=; b=cmkfzlQ/B27p01khWB4NRCjjh9 GOPKyCiEUlmcTA/zyRTO3/bmgxfHdennxj+Gqq+puSKp8h30MxnmU1Zh7KxK40QMvwAkoGcyMZnG0 FXv4gZE86vpFvivCR5N84Lnj5; Received: from 184-96-250-69.hlrn.qwest.net ([184.96.250.69]:47372 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1j99mk-002jjg-Vl; Tue, 03 Mar 2020 08:48:43 -0700 From: Tom Tromey To: Tom de Vries Cc: gdb-patches@sourceware.org Subject: Re: [RFC][gdb] Use partial symbol table to find language for main References: <20200301231752.GA6202@delia> Date: Tue, 03 Mar 2020 15:48:00 -0000 In-Reply-To: <20200301231752.GA6202@delia> (Tom de Vries's message of "Mon, 2 Mar 2020 00:17:54 +0100") Message-ID: <87tv35cucl.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2020-03/txt/msg00055.txt >>>>> "Tom" == Tom de Vries writes: Tom> Ideally, we'd like to get the language of the symbol without triggering Tom> expansion into a full symtab, and get the speedup without having to set the Tom> language manually. This seems like a good idea. Tom> +extern enum language Tom> +find_psym_language (block_enum block_index, const char *name, Tom> + const domain_enum domain); FYI we don't normally line break after the type for declarations, only definitions. Tom> /* The languages above didn't identify the name of the main procedure. Tom> Fallback to "main". */ Tom> + Tom> + /* Try to find language for main in psymtabs. */ Tom> + enum language lang = find_psym_language (GLOBAL_BLOCK, "main", VAR_DOMAIN); Generic code shouldn't call directly into the psymtab code. While most debug readers create psymtabs, they aren't required to. For example, the DWARF index code bypasses psymtabs entirely -- but this call might cause the DWARF reader to create psymtabs in this case. Instead the way to do this is add a new function pointer to struct quick_symbol_functions, then implement it in the various debug readers. Tom