From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 115116 invoked by alias); 6 Dec 2019 21:46:37 -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 114761 invoked by uid 89); 6 Dec 2019 21:46:36 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-6.9 required=5.0 tests=BAYES_00,GIT_PATCH_2 autolearn=ham version=3.3.1 spammy=crazy X-HELO: us-smtp-delivery-1.mimecast.com Received: from us-smtp-1.mimecast.com (HELO us-smtp-delivery-1.mimecast.com) (207.211.31.81) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 06 Dec 2019 21:46:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575668794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0BjskOcIc+ZxV0WaTmlJNZT+6gTnuz8SsaBKORID/5U=; b=TH422+wDVF7Geh2dYj3TQ+cC7Dle7VKU2HulfTmCBIb5yzs0LnUhgPYtKpRzLqa+/NQYU0 aKF4/iJNH28XQ29WrJUcf3eXuT5YGVEcp7ueGeBosWfacgOMGyWugmlqqdmdA1o1t5uky9 sDQNJ2x6ymU7nStg4LOjzXGlfW4JRPI= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-29-6iDc8ewFOPC_SlfuKDeF2Q-1; Fri, 06 Dec 2019 16:46:32 -0500 Received: by mail-wm1-f71.google.com with SMTP id z2so2205633wmf.5 for ; Fri, 06 Dec 2019 13:46:32 -0800 (PST) Return-Path: Received: from ?IPv6:2001:8a0:f913:f700:4c97:6d52:2cea:997b? ([2001:8a0:f913:f700:4c97:6d52:2cea:997b]) by smtp.gmail.com with ESMTPSA id s16sm17621391wrn.78.2019.12.06.13.46.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 06 Dec 2019 13:46:30 -0800 (PST) Subject: Re: [PATCH] Replace the remaining uses of strerror with safe_strerror To: Christian Biesinger References: <20191126195901.50696-1-cbiesinger@google.com> Cc: gdb-patches From: Pedro Alves Message-ID: Date: Fri, 06 Dec 2019 21:46:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2019-12/txt/msg00251.txt.bz2 On 12/6/19 8:36 PM, Christian Biesinger wrote: > On Fri, Dec 6, 2019 at 2:06 PM Pedro Alves wrote: >> GDBserver and (I assume) the IPA can be built with other C runtimes on Linux, >> like musl and others. Do you know how musl behaves? > > Oof, looks like they return int :( > http://git.musl-libc.org/cgit/musl/tree/src/string/strerror_r.c > > I guess I'll change to #if defined(IN_PROCESS_AGENT) && defined(__GLIBC__)? > Crazy thought --- use C++ overload resolution to pick the right thing automatically: /* Called if we have a XSI-compliant strerror_r. */ static char *select_strerror_r (int, char *buf) { return buf; } /* Called if we have a GNU strerror_r. */ static char *select_strerror_r (char *res, char *) { return res; } #ifdef IN_PROCESS_AGENT return select_strerror_r (strerror_r (errnum, buf, buflen), buf); #else ... Thanks, Pedro Alves