From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 121353 invoked by alias); 4 Sep 2017 21:25:18 -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 121303 invoked by uid 89); 4 Sep 2017 21:25:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=no version=3.3.2 spammy= 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; Mon, 04 Sep 2017 21:25:09 +0000 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BDF727EABF; Mon, 4 Sep 2017 21:25:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com BDF727EABF Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=palves@redhat.com 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 0EF9E121E36; Mon, 4 Sep 2017 21:25:00 +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: <7348d7d9-b339-b14f-3dea-31d17c996a2a@redhat.com> Date: Mon, 04 Sep 2017 21:25: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: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2017-09/txt/msg00001.txt.bz2 On 07/13/2017 03:30 AM, Pedro Alves wrote: > 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. FYI, this is now all in gdb master. I believe all the gdb issues uncovered by the errno printer have been addressed. Let me know if you're aware of something still not working properly. Thanks, Pedro Alves