From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12662 invoked by alias); 13 Jul 2017 02:30:47 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 9927 invoked by uid 89); 13 Jul 2017 02:30:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1103, reality X-Spam-User: qpsmtpd, 2 recipients X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 13 Jul 2017 02:30:19 +0000 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E72EAC056786; Thu, 13 Jul 2017 02:30:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com E72EAC056786 Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=palves@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com E72EAC056786 Received: from [127.0.0.1] (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id 408C469510; Thu, 13 Jul 2017 02:30:09 +0000 (UTC) Subject: Re: [RFC PATCH 0/3] Pretty-printing for errno To: Zack Weinberg References: <20170622224456.1358-1-zackw@panix.com> <3a7946e9-d178-f878-9774-64ff44bcf5df@redhat.com> <9490d183-a57b-b336-3131-6580e4773818@redhat.com> <2f28f69b-406f-65e5-40e1-ae65632ea4f0@redhat.com> <1d38297f-f430-ca73-6d3f-a67144d08eea@redhat.com> Cc: Phil Muldoon , GNU C Library , gdb@sourceware.org, Joseph Myers , Florian Weimer , Tom Tromey , Siddhesh Poyarekar From: Pedro Alves Message-ID: Date: Thu, 13 Jul 2017 02:30:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1d38297f-f430-ca73-6d3f-a67144d08eea@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2017-07/txt/msg00023.txt.bz2 On 06/30/2017 07:11 PM, Pedro Alves wrote: > On 06/30/2017 06:27 PM, Zack Weinberg wrote: >> Pedro Alves wrote: >>> The next problem is that without debug info for __errno_location, >>> gdb has no clue of its prototype, only that its a function, and so >>> it assumes that it has type "int()", i.e., that it returns int, >>> while in reality it returns int * / __error_t *. (Falling back >>> to assuming "int" is IMO not the best idea, but I don't know >>> the history behind it.) >> >> Probably because that's the pre-C89 legacy default function signature? > > Yes, most likely. FYI, shortly after this discussion, yet another user showed up on #gdb confused by "p getenv("PATH") returning weird negative integer numbers [because he had no debug info for getenv...], so I decided to do something about it. I've now sent a patch series that stops GDB from assuming no-debug-info symbols have type int: [PATCH 00/13] No-debug-info debugging improvements https://sourceware.org/ml/gdb-patches/2017-07/msg00112.html Comments welcome. Thanks, Pedro Alves