From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 76FC63858436 for ; Mon, 28 Nov 2022 10:21:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 76FC63858436 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1669630919; 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: in-reply-to:in-reply-to:references:references; bh=R+09pVdnhwDld7riASss9OTA93CrS64gK9iXQO1/Sgo=; b=aa20SlguDQBlhr2ItGC5Zv8dC5r4CFR9A2eQFMx1RfuS8mOscPlYw/a1p3TknWqKfl92By jfvOGOh7rPQTisY0KPHMUBcmA64VF8z5zWW4fbJINtUZuxHuNNCmM/09LfIFbe/3K0L4G6 gfgYrdjXimQUcU7abRoI3AL7ZcPXfSA= Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-253-h8Hz_IRmPhK7EAJ8pnw37g-1; Mon, 28 Nov 2022 05:21:56 -0500 X-MC-Unique: h8Hz_IRmPhK7EAJ8pnw37g-1 Received: by mail-ej1-f71.google.com with SMTP id hc41-20020a17090716a900b007c07a5fc017so695008ejc.9 for ; Mon, 28 Nov 2022 02:21:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=R+09pVdnhwDld7riASss9OTA93CrS64gK9iXQO1/Sgo=; b=4lvDnJh49nzVEZXmvgl4mRN64VFtXVd4V7HecKcgUz3aYYqF6TK6zu3EwmmVs6UyyZ xU4HcO91fIogOJ8i4iJwslekzx7BVlweprepIKWzDkxuNu3zxdAv/K8RxkJkSb/4C97S ULwSnYGu750VClwNIme6i86LNYssQ2L9QAP+0U/3OumPKmnuklyybmTGAL3essDycChw NE23BATmC3d+pJm/ADc4vsITkvPhgSscvdKQVMTZ56Sm6D0y/gURV2AE+h5peU0aWnTm bCnc64f7kjuMfCe2VoensMmTOpd3GZH28+rZfE4SjvTmMe0XBlk53J6jPPgQmDvGsGjp c6wQ== X-Gm-Message-State: ANoB5pks+IQZ36yk7/6EvAbM6IqMVDJf0b8NrxdRIvA8JB4DsSInsd5K FWl28ZEAn4HZzt5s5mtR4v9dfvzBt6MwMHbSHvNwISe56HrdT5Gb3jvjvxb69UupfE8KkDs1uLM lwalP1MqZfQiMLy6dUsRAWgUfpRedAmw= X-Received: by 2002:a17:906:448b:b0:7ad:8bd5:b7df with SMTP id y11-20020a170906448b00b007ad8bd5b7dfmr21285553ejo.57.1669630915755; Mon, 28 Nov 2022 02:21:55 -0800 (PST) X-Google-Smtp-Source: AA0mqf7pn2tmAMf/TV3PQjhppg/nqddcK+PxFpkip5tEg9xjapuovJZDAPmQ1oTZDGY6IrJPr9tsRbhrfNCK4CxsSyE= X-Received: by 2002:a17:906:448b:b0:7ad:8bd5:b7df with SMTP id y11-20020a170906448b00b007ad8bd5b7dfmr21285541ejo.57.1669630915571; Mon, 28 Nov 2022 02:21:55 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Mon, 28 Nov 2022 10:21:44 +0000 Message-ID: Subject: Re: [PATCH][_GLIBCXX_INLINE_VERSION] Adapt to_chars/from_chars symbols To: =?UTF-8?Q?Fran=C3=A7ois_Dumont?= Cc: "libstdc++@gcc.gnu.org" , gcc-patches X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/alternative; boundary="000000000000a1097305ee853d4b" X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000a1097305ee853d4b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 28 Nov 2022 at 10:10, Jonathan Wakely wrote: > > > On Mon, 28 Nov 2022 at 06:07, Fran=C3=A7ois Dumont via Libstdc++ < > libstdc++@gcc.gnu.org> wrote: > >> This patch is fixing those tests: >> >> 20_util/to_chars/float128_c++23.cc >> std/format/formatter/requirements.cc >> std/format/functions/format.cc >> std/format/functions/format_to_n.cc >> std/format/functions/size.cc >> std/format/functions/vformat_to.cc >> std/format/string.cc >> >> Note that symbols used in for __ibm128 and __iee128 are unteste= d. >> >> I even wonder if the normal mode ones are because I cannot find the >> symbols used in gnu.ver. >> >> >> libstdc++: [_GLIBCXX_INLINE_VERSION] Add to_chars/from_chars >> symbols export >> >> libstdc++-v3/ChangeLog >> >> * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): >> Adapt __asm symbol >> specifications. >> * config/abi/pre/gnu-versioned-namespace.ver: Add >> to_chars/from_chars symbols >> export. >> >> Ok to commit ? >> >> > > Why are changes needed to the linker script? > > Those functions should already match the general wildcard: > > # Names inside the 'extern' block are demangled names. > extern "C++" > { > std::*; > std::__8::*; > }; > > > Instead of nine separate #if blocks, can we just do: #if _GLIBCXX_INLINE_VERSION # define _GLIBCXX_ALIAS(S) __asm("_ZNSt3__8" S) #else # define _GLIBCXX_ALIAS(S) __asm("_ZNSt" S) #endif And then use: _GLIBCXX_ALIAS("8to_charsPcS_eSt12chars_format"); and finally: #undef _GLIBCXX_ALIAS --000000000000a1097305ee853d4b--