From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smarthost1.atos.net (smtppost.atos.net [193.56.114.176]) by sourceware.org (Postfix) with ESMTPS id 66D95382D83C; Fri, 22 Jan 2021 12:24:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 66D95382D83C X-IronPort-AV: E=Sophos;i="5.79,366,1602540000"; d="scan'208,217";a="206002596" X-MGA-submission: =?us-ascii?q?MDH8KIE7IRM03dUXBCgt6dHi7Js0h1/0yorlMX?= =?us-ascii?q?tXfJSxzErZlKTA0SrPgIeuRL384Wyft4K+KC4AQNkf3/z7DuNHOvE9BX?= =?us-ascii?q?gwsdh7DaVseX4fxvZzBHn/luO/K2jCC5vx1dnF/rZSktC8Gmx67K5lVU?= =?us-ascii?q?VN?= Received: from mail.sis.atos.net (HELO GITEXCPRDMB14.ww931.my-it-solutions.net) ([10.89.28.144]) by smarthost1.atos.net with ESMTP/TLS/AES256-GCM-SHA384; 22 Jan 2021 13:23:55 +0100 Received: from GITEXCPRDMB14.ww931.my-it-solutions.net (10.89.28.144) by GITEXCPRDMB14.ww931.my-it-solutions.net (10.89.28.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4; Fri, 22 Jan 2021 13:23:44 +0100 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (172.16.214.169) by GITEXCPRDMB14.ww931.my-it-solutions.net (10.89.28.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4 via Frontend Transport; Fri, 22 Jan 2021 13:23:44 +0100 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QF1uewDZ2yVKwJfbzAii7odYkhaNUsHUlpdItUFvGlbyjaDOFWPXi9XBp4Ef4QHeVZhJbQcGyDKe8MBiDUUkefXmCDA9Id+z3od9zSrkuH5NC14VDvCBPx4jBEWTJ37ZVnMKLbCKDY3xSG5p76U9tssorgOdtQ72dg9wftXpTmfr/wC3LUEOy4MntGfQPsW5GKTctYxkB71ZkPwLQL4gy48tkGlY/vjAOpET1Yb7PAX5mKmaSdIAJ0jc1xKIyAB4ZxDwH1OapR+HRU9qYP+Q2vk7xlitSLZY0dEfR/djFIAXfYlJe7XUKZbUR3fsXjcUqlNEKI9jhaeTjup8eHklMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fY0WerR6GVuR3fsIfb7F3gjVqmXJCX1eCqURxSY3P0E=; b=HSPadp2PVQi+ycO/Dp3QjNC9nuJz7aUIpb18bvOruqoXhN8bJT5i7FUUGw2hRES9Jp6exI9sQAcftOmYVMLTeYuaM+hEVNNR67Jwwhy3FCPcbTzeijDQHOhP+//YZx7NnAVZFFm1kcwM4oMqi0H8kKNz5dA0fnlL/Qb8uI1PDarop9Zxk0c6ryNSBTVwjQaJkr5N9TBQBXS+6mtLjj/zAk1zURcN3uJ/1gn/khgzTuK5qI7J8vzmHWi09UMmHJZxmjr40UsjztsEVZtrACButh7W4xSWMFUggO+ES6UwG4qX3uGruf5BLkrNLKOIEMNUefJ2KtEqX6UGGqGpncg3oQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=atos.net; dmarc=pass action=none header.from=atos.net; dkim=pass header.d=atos.net; arc=none Received: from PA4PR02MB6686.eurprd02.prod.outlook.com (2603:10a6:102:ff::14) by PA4PR02MB7149.eurprd02.prod.outlook.com (2603:10a6:102:101::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.10; Fri, 22 Jan 2021 12:23:43 +0000 Received: from PA4PR02MB6686.eurprd02.prod.outlook.com ([fe80::e06c:aa84:a21d:6932]) by PA4PR02MB6686.eurprd02.prod.outlook.com ([fe80::e06c:aa84:a21d:6932%7]) with mapi id 15.20.3763.016; Fri, 22 Jan 2021 12:23:43 +0000 From: "CHIGOT, CLEMENT" To: Rainer Orth , Jonathan Wakely CC: libstdc++ , David Edelsohn via Gcc-patches , David Edelsohn Subject: Re: [PATCH] libstdc++: implement locale support for AIX Thread-Topic: [PATCH] libstdc++: implement locale support for AIX Thread-Index: AQHW5/cse5cUzOlFpUGzG3vP4ZkwbKoiheqAgAAI90CAAAGAAIAAAJC4gABu9YCAARiZb4AABceAgAAHyTOAAB5/x4AAALUAgAAlmBiAAQvegIAAApjfgAAHBSmAAAEXtYAAA1Z+gAyHwmCAAErKJoABGGUwgAAdWFOAAAagAIAAB0GOgAADaO8= Date: Fri, 22 Jan 2021 12:23:43 +0000 Message-ID: References: <20210122112910.GI541588@redhat.com>, In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Enabled=True; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_SiteId=33440fc6-b7c7-412c-bb73-0e70b0198d5a; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_SetDate=2021-01-22T12:23:42.886Z; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Name=Atos For Internal Use - All Employees; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_ContentBits=0; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Method=Standard; x-originating-ip: [165.225.77.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6b77a7f2-fdbe-4e55-b71e-08d8bed08eed x-ms-traffictypediagnostic: PA4PR02MB7149: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: p61uWwRIwVdPV2wPAKs5yMvn8ELW7sUvdFXfXiV7T7PXPJ94PzWpWsiE75YqzvTUFlQR6rg47mQoYZnLUrAZ1lCCZYPU3brpGj5sjEbai7eRlXpCodZn32f48cgCFYu0arsNZNmoPTkMvznpq2OcldTtKlLEQpQnsbSIIL1HpgEyLBgD0GZDTDOjTrfc/oAzxbF6X45iTgZx4zLiYPF9wyUbl20RoQgCvlmO6l7NZoPq0e24QJ0UBvjpmpSpI9Fxa8tqquYp7+doInSFkO082oZEgZxLGwVzQoVuYeibEq4ndHCt1c500Vg/NAZA8YhgdVpOpOI2knPYDD5DmUg6522gT2EAZ2azlXBk1e/hTPeA9eiTlyBhGC/wMoBL5VIVuNI9xyN+6UsH5khaQ+gOeg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR02MB6686.eurprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(376002)(346002)(396003)(39860400002)(136003)(86362001)(55016002)(110136005)(19627405001)(2906002)(6506007)(76116006)(316002)(33656002)(8676002)(66574015)(26005)(55236004)(53546011)(66476007)(66446008)(54906003)(9686003)(7696005)(71200400001)(186003)(5660300002)(52536014)(4326008)(66556008)(8936002)(478600001)(66946007)(64756008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?iso-8859-1?Q?OxxN5f91Op4nnKCrzK/Lv2uZf/I/DZN00iF3clwnpOnuuos4V5SZkMbM7P?= =?iso-8859-1?Q?xpaOeRmm6Pu3ngjdmErk1wdcM3mn6X/ukTDWx3/OAhIDqncRAr58KNOIZ3?= =?iso-8859-1?Q?6r9MWKu1pbLfa3W8ENwFflxTJDr2pthNs+3FZScmVmdfgylf2epXIKrD2u?= =?iso-8859-1?Q?iLj3Kl0+W6N4ZBSlG0A/AtnilENLQn911YaUKsklUpaxuv9zhyeVOZWqgK?= =?iso-8859-1?Q?kedUqUHhFT4BftkXH8DrYQ1+3/ySQP0k6+X1xmh7hwap6MC2clic2VgePm?= =?iso-8859-1?Q?TTMYbzOSlTIKpq/3GBdBZ9AQ2LiNViGU9ykRNocbU7CR5DZnDTN2yubO9D?= =?iso-8859-1?Q?+r0dlICkt9vgIRABjtPo9sXL7L8WSAd1h2w1XG+brPC+RKgNseeifyv+Sj?= =?iso-8859-1?Q?YAPNM8sEvzj8vPEfpA6nqtKtb19cLbuUXd5h8H3ZFQoLMza1XoMyGkOiCf?= =?iso-8859-1?Q?cwfES8tWtJrMpkTVYCEX6EipZoCZ1Oj8f9Bq4X1+H7Ud2+0j/Jy+a30EII?= =?iso-8859-1?Q?snAcVUJttWTADfyV2eGyAb1S9+WjibnjjBDfJUACGZr5Pu+0yDADr6bz8x?= =?iso-8859-1?Q?N7+1am5muexvGzbYBvmnhIMAyroWt51hcWOUgy1BfFPNyM+HE0PyBTkLtz?= =?iso-8859-1?Q?2l2SOu/QGWjP+eLvjESE2JeFKPPLPWcSRyqnx7FR9AsjIqZnRK9YeLyUbb?= =?iso-8859-1?Q?q8yqw+8ohv38TlNXBgLsVo5sUI849j38GGrKLGaVUbZIveI2M+hqBRt8Tn?= =?iso-8859-1?Q?oO+BSA1WyvGSTlgoY1iq5fggcNcsT8IX04HS3b6ff5aPRnYOwfMtPRByhl?= =?iso-8859-1?Q?l1NwCs04ZiqtC2+Vj+GPNvzLlc3EjwjU/KdA015pFDwCFFCemmDqZNzMH8?= =?iso-8859-1?Q?NOg+c+smPqgm4ziGqVcO5lT3jHXtEwdPbFoHezBlpqWUKaYor2m+UdObmq?= =?iso-8859-1?Q?RWe9Ts+yHkZoL6lWgfUks7qJLQz2jfvFYWjQNglvVR8Lkzn41MZPWIFPYk?= =?iso-8859-1?Q?b8bKuUUoJhFhL1vBg=3D?= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PA4PR02MB6686.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b77a7f2-fdbe-4e55-b71e-08d8bed08eed X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 12:23:43.2188 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 33440fc6-b7c7-412c-bb73-0e70b0198d5a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: EoLIPEZyrdkTpB9f2wy0PulNzA5zNmQhcpt5hRpyfrZIWjd1Bul7r1Bwn8YAigqoU0gxFw+TecMqA/I7IQRPag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR02MB7149 X-OriginatorOrg: atos.net X-Spam-Status: No, score=1.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, HTML_MESSAGE, RCVD_IN_ABUSEAT, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SBL_CSS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jan 2021 12:24:04 -0000 Hi Rainer, Jonathan >>>why? I've just double-checked the OpenGroup pages: all of the functions >>>listed as XPG7 above were part of IEEE 1003.1-2008, just some of them >>>have Technical Corrigenda applied. IIUC IEEE 1003.1-2017 is just a >>>revision of the -2008 standard, not a new issue (XPG8 or something). >> >> Technically, the 2008 standard has been withdrawn and replaced by >> 2017. Since the content is the same, it seems more correct to refer to >> the current standard (even if Solaris only documents support for the >> 2008 edition, if it also implements the corrigenda then it conforms to >> 2017 even if it doesn't document that). > >I've found no macro that would distinguish P1003.1-2008 and -2017. It >seems both are identified by _XOPEN_SOURCE=3D700 and >_POSIX_C_SOURCE=3D200809L. > >> But as I said, a shorter, more memorable name like "xpg7" or just >> "posix" might be preferable anyway. > > I'd strongly prefer xpg7 over posix: after all, xpg6 systems are still > around (Solaris 11.3 being one of them, and I suspect older AIX versions > as well). It's certainly much less of a mouthful than ieee_1003.1-2008 ;= -) I honestly don't master all these conventions. So I'll follow you on the ri= ght name to give. >> Some are still needed as for example only the last version of AIX have >> strftime_l. > > Then that version doesn't conform to XPG7 and shouldn't use that clocale > variant. Until we have a clearer understanding of the variation here, > I'd argue that only P1003.1-2008 conforming OSes should use > ieee_1003.1-2008, rather than creating an impenetrable maze of #ifdefs > for all sorts of partial implementations. Yes, AIX before 7.2 TL5 is Unix03 compliant, and after UNIXv7. However, my aim is to implement locale support for these older versions too. Thus, maybe I can create a fake strftime_l in config/os/aix. But I wan= t to use this model for AIX. Otherwise, I'll simply revert to the AIX model as I've made in the first patch, as it's not possible to use this new model for my purpose. I mean no offense, but my aim is to improve AIX. Of course, I'm glad to help other OS too, but I can't work on it if there is no impact for AIX at the end. >>>> Besides, your configure tests are way too complicated: just use >>>> AC_CHECK_FUNCS doing a link test and be done with it. >>> >>> Sadly, you can't pass includes to AC_CHECK_FUNCS. That's why I had to d= o >>> that. I've made a first version with AC_CHECK_DECLS which allows extra >>> headers, but it didn't work too. I might know why though. >> >>Why would you need to? AC_CHECK_FUNCS just perform a link test to check >>if the functions are present in libc; no need to have a declaration >>present. > >Right, I wondered about this too. I didn't work when I've tried. Maybe I've missed something. I'll check. Thanks, Cl=E9ment ________________________________ From: Rainer Orth Sent: Friday, January 22, 2021 12:54 PM To: Jonathan Wakely Cc: CHIGOT, CLEMENT ; libstdc++ ; David Edelsohn via Gcc-patches ; David Edel= sohn Subject: Re: [PATCH] libstdc++: implement locale support for AIX Caution! External email. Do not open attachments or click links, unless thi= s email comes from a known sender and you know the content is safe. Hi Jonathan, > On 22/01/21 12:04 +0100, Rainer Orth wrote: >>why? I've just double-checked the OpenGroup pages: all of the functions >>listed as XPG7 above were part of IEEE 1003.1-2008, just some of them >>have Technical Corrigenda applied. IIUC IEEE 1003.1-2017 is just a >>revision of the -2008 standard, not a new issue (XPG8 or something). > > Technically, the 2008 standard has been withdrawn and replaced by > 2017. Since the content is the same, it seems more correct to refer to > the current standard (even if Solaris only documents support for the > 2008 edition, if it also implements the corrigenda then it conforms to > 2017 even if it doesn't document that). I've found no macro that would distinguish P1003.1-2008 and -2017. It seems both are identified by _XOPEN_SOURCE=3D700 and _POSIX_C_SOURCE=3D200809L. > But as I said, a shorter, more memorable name like "xpg7" or just > "posix" might be preferable anyway. I'd strongly prefer xpg7 over posix: after all, xpg6 systems are still around (Solaris 11.3 being one of them, and I suspect older AIX versions as well). It's certainly much less of a mouthful than ieee_1003.1-2008 ;-) >>>> As for the BSD group, I suggest to have one representative configure >>>> test (for localeconv_l perhaps) and then use an appropriate name for = the >>>> group as a whole. Again, this will most likely be an all-or-nothing >>>> thing. >>> >>> I'm not sure this is really all-or-nothing for these. Maybe strtof_l an= d cie >>> can be grouped by. But the 3 others are really different. Linux have >>> wcsftime_l >>> but not the others. AIX avec none. BSD have all. >> >>TBH, I don't care about Linux here: it will continue to use the gnu >>variant anyway. Besides, since the patch will have to work on targets >>without wcsftime_l and the other BSD functions, I don't see any harm in >>not using one non-standard one of them although it's present. > > I agree that GNU/Linux will continue to use the gnu model, but it can > still be usable as a useful extra test of the code's portablility, > since it implements everything in XPG7 (and more). We shouldn't spend > any effort doing linux-specific changes in this new model, since they > won't be used in practice. But if it works "out of the box" with no > tweaks, then that is useful for testing. Absolutely: the more different implementation we can throw at the code, the better for portability. Rainer -- ---------------------------------------------------------------------------= -- Rainer Orth, Center for Biotechnology, Bielefeld University